code: function(node, name) {
      this.acceptKey(node, name);
  
      if (!node[name]) {
        throw new Exception(node.type + ' requires ' + name);
      }
    }
docs: Performs an accept operation with added sanity check to ensure required keys are not removed.