public Object execute(ExecutionEvent event) throws ExecutionException {
		IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
				.getActivePage().getActiveEditor();

		if (!(part instanceof AbstractTextEditor)) {
			return null;
		}

		AbstractTextEditor editor = (AbstractTextEditor) part;

		if (!editor.getTitle().endsWith(".java")) {
			return null;
		}

		IDocumentProvider dp = editor.getDocumentProvider();
		doc = dp.getDocument(editor.getEditorInput());

		textUtils = new StringUtils();
		textUtils.setDoc(doc.get());
		textUtils.setCursorPosition(getCursorPosition());
		boolean val = textUtils.proccess();
		if (textUtils.getCursorPosition() < 0) {
			return null;
		}
		if (!val) {
			return null;
		}

		StyledText styledText = (StyledText) editor.getAdapter(Control.class);
		Point p = getPoint(styledText.getCaret());

		Rectangle r = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
				.getShell().getBounds();

		Point pos = Display.getCurrent().getCursorLocation();
		Point location = new Point(min(p.x, r.x + r.width - 500, pos.x + 10),
				min(p.y, r.y + r.height - 160, pos.y + 10));

		final StringPopup textPopUp = new StringPopup(PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getShell(), textUtils.getText(),
				location);
		textPopUp.open();
		textPopUp.setTextListenerAndFocus(this);

		return null;
	}