code: private boolean isSafeReplacement(Node node, Node replacement) {
      // No checks are needed for simple names.
      if (node.isName()) {
        return true;
      }
      checkArgument(node.isGetProp());
  
      while (node.isGetProp()) {
        node = node.getFirstChild();
      }
      return !(node.isName() && isNameAssignedTo(node.getString(), replacement));
  
    }
docs: Checks name referenced in node to determine if it might have
  changed.
  @return Whether the replacement can be made.