});
if (javaProject != null) { IFile[] javaFiles = null; try { javaFiles = LocatePlugin.getDefault().getJavaLocateResult(fileName, javaProject.getProject()).getDotJava(); } catch (CoreException e) { LaunchingPlugin.getDefault().log(e); } catch (LocateException e) { LaunchingPlugin.getDefault().log(e); }  if (javaFiles != null && javaFiles.length == 1) { this.blockNextLines(); LaunchingPlugin.getDefault().selectAndReveal(javaFiles[0]); final String message = text.substring(text.indexOf(">", endIndex) + 1).replace(']', ' '); Display.getDefault().asyncExec(new Runnable() { public void run() { IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, message, null); ErrorDialog.openError(null, "Buggy KeyValueCoding", "", status); } }); } } }
	public void lineAppended(IRegion line) {		int offset = line.getOffset();		int length = line.getLength();		String text = null;		try {			text = currentConsole.getDocument().get(offset, length);		} catch (BadLocationException e) {			e.printStackTrace();		}		if (text != null && text.startsWith("com.webobjects.foundation.NSForwardException [com.webobjects.appserver._private.WODeclarationFormatException] <WOHTMLTemplateParser> no declaration for dynamic element (or component) named")) {			int startIndex = text.indexOf('\'', 0);			int endIndex = text.indexOf('\'', startIndex + 1);			final String pathString = text.substring(startIndex + 6, endIndex);			IPath path = Path.fromOSString(pathString);			path = path.makeRelative();			path = path.append(path.lastSegment() + "d");			path = new Path("/Foo/Main.wo/Main.wod");			final String errorMessage = text.substring(133, startIndex - 99);			final IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);			Display.getDefault().asyncExec(new Runnable() {				public void run() {					WorkbenchUtilitiesPlugin.open(file);					IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, errorMessage, null);					ErrorDialog.openError(null, "Buggy WOComponent", "", status);				}			});		}	}