paramTypes[i]= (binding != null) ? binding.getName() : "Object";
if (binding != null && !binding.isAnonymous() && !binding.isNullType()) { paramTypes[i]= binding.getName(); } else { paramTypes[i]= "Object"; }
	private String generateStub(ImportEdit importEdit, CodeGenerationSettings settings) throws CoreException {				String methodName= fNode.getName().getIdentifier();		List arguments= fNode.arguments();				boolean isStatic= false;		Expression sender= fNode.getExpression();		if (sender != null) {			if (sender instanceof Name) {				IBinding binding= ((Name) sender).resolveBinding();				if (binding != null) {					isStatic= (binding.getKind() == binding.TYPE);				}			}		} else {			isStatic= ASTResolving.isInStaticContext(fNode);		}				boolean isInterface= fDestType.isInterface();		boolean isSameType= isLocalChange();				ITypeBinding returnType= evaluateMethodType(fNode, importEdit);		String returnTypeName= returnType.getName();				String[] paramTypes= new String[arguments.size()];		for (int i= 0; i < paramTypes.length; i++) {			ITypeBinding binding= evaluateParameterType((Expression) arguments.get(i), importEdit);			paramTypes[i]= (binding != null) ? binding.getName() : "Object"; //$NON-NLS-1$		}		String[] paramNames= getParameterNames(paramTypes, arguments);				StringBuffer buf= new StringBuffer();				if (settings.createComments) {			StubUtility.genJavaDocStub("Method " + methodName, paramNames, Signature.createTypeSignature(returnTypeName, true), null, buf); //$NON-NLS-1$		}				if (isSameType) {			buf.append("private "); //$NON-NLS-1$		} else if (!isInterface) {			buf.append("public "); //$NON-NLS-1$		}				if (isStatic) {			buf.append("static "); //$NON-NLS-1$		}				buf.append(returnTypeName);		buf.append(' ');		buf.append(methodName);		buf.append('(');				if (!arguments.isEmpty()) {			for (int i= 0; i < arguments.size(); i++) {				if (i > 0) {					buf.append(", "); //$NON-NLS-1$				}				buf.append(paramTypes[i]);				buf.append(' ');				buf.append(paramNames[i]);			}		}		buf.append(')');		if (isInterface) {			buf.append(";\n");  //$NON-NLS-1$		} else {			buf.append("{\n"); //$NON-NLS-1$				if (!returnType.isPrimitive()) {				buf.append("return null;\n"); //$NON-NLS-1$			} else if (returnTypeName.equals("boolean")) { //$NON-NLS-1$				buf.append("return false;\n"); //$NON-NLS-1$			} else if (!returnTypeName.equals("void")) { //$NON-NLS-1$				buf.append("return 0;\n"); //$NON-NLS-1$			}			buf.append("}\n"); //$NON-NLS-1$		}		return buf.toString();	}