ITypeBinding returnTypeBinding= binding.getReturnType(); addImport(returnTypeBinding);  decl.setReturnType(ASTResolving.getTypeFromTypeBinding(ast, returnTypeBinding));
String returnTypeName= addImport(binding.getReturnType()); decl.setReturnType(ASTNodeFactory.newType(ast, returnTypeName));
	private MethodDeclaration createNewMethodDeclaration(AST ast, IMethodBinding binding, ASTRewrite rewrite, String typeName, CodeGenerationSettings commentSettings) throws CoreException {		MethodDeclaration decl= ast.newMethodDeclaration();		decl.setModifiers(binding.getModifiers() & ~Modifier.ABSTRACT);		decl.setName(ast.newSimpleName(binding.getName()));		decl.setConstructor(false);				ITypeBinding returnTypeBinding= binding.getReturnType();		addImport(returnTypeBinding);				decl.setReturnType(ASTResolving.getTypeFromTypeBinding(ast, returnTypeBinding));				List parameters= decl.parameters();		ITypeBinding[] params= binding.getParameterTypes();		String[] paramNames= getArgumentNames(binding);		for (int i= 0; i < params.length; i++) {			ITypeBinding curr= params[i];			addImport(curr);					SingleVariableDeclaration var= ast.newSingleVariableDeclaration();			var.setType(ASTResolving.getTypeFromTypeBinding(ast, curr));			var.setName(ast.newSimpleName(paramNames[i]));			parameters.add(var);		}						List thrownExceptions= decl.thrownExceptions();		ITypeBinding[] excTypes= binding.getExceptionTypes();		for (int i= 0; i < excTypes.length; i++) {			ITypeBinding curr= excTypes[i];			addImport(curr);			thrownExceptions.add(ast.newSimpleName(curr.getName())); // can only be singe type, no array		}				Block body= ast.newBlock();		decl.setBody(body);			String bodyStatement= ""; //$NON-NLS-1$		Expression expression= ASTResolving.getInitExpression(decl.getReturnType(), decl.getExtraDimensions());		if (expression != null) {			ReturnStatement returnStatement= ast.newReturnStatement();			returnStatement.setExpression(expression);			bodyStatement= ASTNodes.asFormattedString(returnStatement, 0, String.valueOf('\n'));		}		String placeHolder= CodeGeneration.getMethodBodyContent(getCompilationUnit(), typeName, binding.getName(), false, bodyStatement, String.valueOf('\n')); 			if (placeHolder != null) {			ASTNode todoNode= rewrite.createPlaceholder(placeHolder, ASTRewrite.STATEMENT);			body.statements().add(todoNode);		}				if (commentSettings != null) {			String string= CodeGeneration.getMethodComment(getCompilationUnit(), typeName, decl, binding, String.valueOf('\n'));			if (string != null) {				Javadoc javadoc= (Javadoc) rewrite.createPlaceholder(string, ASTRewrite.JAVADOC);				decl.setJavadoc(javadoc);			}		}		return decl;	}