public void doTransformPM(final PMProject pm_project) {
    final SimpleName element = (SimpleName) location.getASTNode();
    final IBinding binding = element.resolveBinding();

    // 		if (binding != null) {
    // 			final int kind = binding.getKind();

    // 			if (kind == IBinding.TYPE
    // 			    || (kind == IBinding.METHOD
    // 				&& ((IMethodBinding) binding).isConstructor())) {
    // 				// rename the associated type and all constructors
    // 				final ITypeBinding declaring_class = (kind == IBinding.TYPE)? (ITypeBinding) binding :
    // ((IMethodBinding) binding).getDeclaringClass();
    // 				final IMethodBinding[] methods = declaring_class.getDeclaredMethods();
    // 				final AType type = new AType(tproject, (IType) declaring_class.getJavaElement());
    // 				final LinkedList<AMethod> constructors = new LinkedList<AMethod>();

    // 				for (IMethodBinding b : methods)
    // 					if (b.isConstructor())
    // 						constructors.add(new AMethod(tproject, (IMethod) b.getJavaElement()));

    // 				// We found all that needs renaming.
    // 				System.err.println("--< start >--------------------------------------");
    // 				System.err.println("=| " + type + "\n" + type.getASTNode());
    // 				System.err.println("-- Complex rename : " + constructors.size() + " constructors.");
    // 				for (AMethod constructor : constructors) {
    // 					System.err.println("-- rename constructor " + constructor);
    // 					doTransformPMOne(pm_project, ((MethodDeclaration) constructor.getASTNode()).getName());
    // 				}
    // 				System.err.println("-- rename class " + type);

    // 				final ASTNode n = type.getASTNode();
    // 				SimpleName name = null;
    // 				if (n instanceof SimpleName)
    // 					name = (SimpleName) n;
    // 				else if (n instanceof CompilationUnit) {
    // 					final List<?> list = ((CompilationUnit)n).types();
    // 					for (Object o : list) {
    // 						if (o instanceof TypeDeclaration) {
    // 							TypeDeclaration tdecl = (TypeDeclaration) o;
    // 							if (name == null)
    // 								name = tdecl.getName();
    // 							else
    // 								throw new RuntimeException("Multiple classes to rename: at least " + name + " and " +
    // tdecl
    // 											   + " (in " + type + ")!");
    // 						}
    // 					}
    // 				} else
    // 					throw new RuntimeException("Don't know how to get SimpleName from " + n.getClass());

    // 				doTransformPMOne(pm_project, name);
    // 				System.err.println("--< end >--------------------------------------");

    // 				return;
    // 			}
    // 		}

    System.err.println("-- Doing simple renaming on " + element);
    doTransformPMOne(pm_project, element);
  }
 public boolean visit(SimpleName name) {
   if (this.have(name.resolveBinding().getJavaElement())) recordOwner();
   return true;
 }