MsgBox SWT

Estou tentando criar um MsgBox dentro de uma classe abstrata e de um método void da seguinte maneira:

Display display = new Display();
Shell shell = new Shell(display);

		    MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION |SWT.YES | SWT.NO);
		    messageBox.setMessage("Is this question simple?");
		    int rc = messageBox.open();
		    
		    System.out.println(rc == SWT.YES);
		    System.out.println(rc == SWT.NO);
		    
		    display.dispose();    

No entanto na hora de rodar o programa dá o seguinte erro:

org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:3563)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:674)
at org.eclipse.swt.widgets.Display.create(Display.java:735)
at org.eclipse.swt.graphics.Device.<init>(Device.java:129)
at org.eclipse.swt.widgets.Display.<init>(Display.java:430)
at org.eclipse.swt.widgets.Display.<init>(Display.java:421)
at br.ufmg.dcc.synergia.praxispluginrsm.documents.documents.ersw.ERSwVolumes.salvarDocumento(ERSwVolumes.java:104)

[b]Sendo que esta última classe é a classe em que eu implementei o código citado acima, alguém poderia me orientar aonde está o erro?

Atenciosamente,
[/b]