manager.setWorkingCopy(input, (IWorkingCopy)src);
HashMap<String,Object> result = new HashMap<String,Object>();
try{
// more hacks to got get around gui dependency
ASTProvider provider = ASTProvider.getASTProvider();
Field astCache = ASTProvider.class.getDeclaredField("fCache");
astCache.setAccessible(true);
((ASTCache)astCache.get(provider)).setActiveElement(src);
TextSelection selection = new TextSelection(offset, length);