Throwable t = ex.getCause();
if (t instanceof CompilationException) {
CompilationException exc = (CompilationException) t;
createMarker(res, exc.getErrorMessage(), reader.getLocator().getLineNumber(), reader.getLocator().getColumnNumber());
} else if (t instanceof NoViableAltException) {
NoViableAltException exc = (NoViableAltException) t;
createMarker(res, exc.getMessage(), reader.getLocator().getLineNumber(), reader.getLocator().getColumnNumber());
} else if (t == null) {
createMarker(res, ex.getMessage(), reader.getLocator().getLineNumber(), reader.getLocator().getColumnNumber());
} else {
createMarker(res, t.getMessage(), reader.getLocator().getLineNumber(), reader.getLocator().getColumnNumber());
}