private MethodDeclaration createNewMethodDeclarationNode(IMethod sourceMethod, CompilationUnit declaringCuNode, OldASTRewrite targetRewrite, IProgressMonitor pm, RefactoringStatus status) throws JavaModelException {
private MethodDeclaration createNewMethodDeclarationNode(IMethod sourceMethod, CompilationUnit declaringCuNode, TypeVariableMaplet[] mapping, ASTRewrite rewrite, IProgressMonitor pm, RefactoringStatus status) throws JavaModelException {
	private MethodDeclaration createNewMethodDeclarationNode(IMethod sourceMethod, CompilationUnit declaringCuNode, OldASTRewrite targetRewrite, IProgressMonitor pm, RefactoringStatus status) throws JavaModelException {		MethodDeclaration sourceMethodNode= ASTNodeSearchUtil.getMethodDeclarationNode(sourceMethod, declaringCuNode);		AST ast= targetRewrite.getAST();		MethodDeclaration newMethod= ast.newMethodDeclaration();		copyBodyOfPulledUpMethod(targetRewrite, sourceMethod, sourceMethodNode, newMethod, pm);		newMethod.setConstructor(sourceMethodNode.isConstructor());		newMethod.setExtraDimensions(sourceMethodNode.getExtraDimensions());		copyJavadocNode(targetRewrite, sourceMethod, sourceMethodNode, newMethod);		newMethod.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getNewModifiers(sourceMethod, true, pm, status)));		newMethod.setName(createCopyOfSimpleName(sourceMethodNode.getName(), ast));		copyReturnType(targetRewrite, getDeclaringCU(), sourceMethodNode, newMethod);		copyParameters(targetRewrite, getDeclaringCU(), sourceMethodNode, newMethod);		copyThrownExceptions(sourceMethodNode, newMethod);		return newMethod;	}