fAST= root.getAST(); ASTNode node= NodeFinder.perform(root, offset, length);  if (node instanceof ReturnStatement) { fMethodDeclaration= (MethodDeclaration)ASTNodes.getParent(node, ASTNode.METHOD_DECLARATION); return null; }  Type type= null; if (node instanceof Type) { type= (Type)node; } else  if (node instanceof Name) { Name name= ASTNodes.getTopMostName((Name)node); if (name.getParent() instanceof Type) { type= (Type)name.getParent(); } } if (type == null) return SearchMessages.MethodExitsFinder_no_return_type_selected; type= ASTNodes.getTopMostType(type); if (!(type.getParent() instanceof MethodDeclaration)) return SearchMessages.MethodExitsFinder_no_return_type_selected; fMethodDeclaration= (MethodDeclaration)type.getParent(); return null;
return initialize(root, NodeFinder.perform(root, offset, length));
	public String initialize(CompilationUnit root, int offset, int length) {		fAST= root.getAST();		ASTNode node= NodeFinder.perform(root, offset, length);				if (node instanceof ReturnStatement) {			fMethodDeclaration= (MethodDeclaration)ASTNodes.getParent(node, ASTNode.METHOD_DECLARATION);			return null;		}				Type type= null;		if (node instanceof Type) {			type= (Type)node;		} else  if (node instanceof Name) {			Name name= ASTNodes.getTopMostName((Name)node);			if (name.getParent() instanceof Type) {				type= (Type)name.getParent();			}		}		if (type == null)			return SearchMessages.MethodExitsFinder_no_return_type_selected; 		type= ASTNodes.getTopMostType(type);		if (!(type.getParent() instanceof MethodDeclaration))			return SearchMessages.MethodExitsFinder_no_return_type_selected; 		fMethodDeclaration= (MethodDeclaration)type.getParent();		return null;	}