code: function getParentNode(node) {
    return genericPropertyGet(
        Methods.PARENT_NODE_GETTER, node, 'parentNode', function(parentNode) {
          // We need to ensure that parentNode is returning the actual parent node
          // and not a child node that happens to have a name of "parentNode".
          // We check that the node returned by parentNode is itself not named
          // "parentNode" - this could happen legitimately but on IE we have no
          // better means of avoiding the pitfall.
          return !(
              parentNode && typeof parentNode.name == 'string' &&
              parentNode.name && parentNode.name.toLowerCase() == 'parentnode');
        });
  }
docs: Returns a node's parentNode without falling prey to things like
  <form><input name="parentNode"></form>.
  @param {!Node} node
  @return {?Node}