code: function(state, options) {
          var node = this;
  
          _(FilterNode.optionsSchema).each(function(optionSchema, key) {
              if (!optionSchema.ignore && (this !== this.root || optionSchema.rootBound)) {
                  var option;
  
                  node.dontPersist[key] = // truthy if from `options` or `default`
                      (option = options && options[key]) !== undefined ||
                      (option = state && state[key]) === undefined &&
                      !(optionSchema.own || node.hasOwnProperty(key) && option !== null) &&
                      !(option = node.parent && node.parent[key]) &&
                      (option = optionSchema.default);
  
                  if (option === null) {
                      delete node[key];
                      node.dontPersist[key] = false;
                  } else if (option) {
                      if (key === 'schema' && !option.walk) {
                          // attach the `walk` and `find` convenience methods to the `schema` array
                          option.walk = popMenu.walk.bind(option);
                          option.lookup = popMenu.lookup.bind(option, node.root.findOptions);
                      }
                      node[key] = option;
                  }
              }
          });
      }
docs: Create each standard option from when found on the `options` or `state` objects, respectively; or if not an "own" option, on the `parent` object or from the options schema default (if any)
  @param state
  @param options