_walk(node, fn) {
    NodeUtils.walkSubtrees(node, (node, parent, ancestors) => {
      var state = ancestors.concat(node);
      if (NodeUtils.isAMD(state) ||
          NodeUtils.isCommonJS(state) ||
          NodeUtils.isES6ModuleImport(state) ||
          NodeUtils.isES6ClassBoilerplate(state)) {
        return;
      }

      var nodes = NodeUtils.getDFSTraversal(node, this._threshold);
      if (nodes.length === this._threshold) {
        fn(nodes);
      }

      // TODO: Revisit logic
      // Disabled for performance reasons
      // this._walkSiblings(node, fn);
    });
  }
Walks a given node's AST, building up arrays of nodes that meet the
inspector's threshold. When found, the callback is invoked and passed
the array of nodes.

@private

@param {Node}     node The node to traverse
@param {function} fn   The callback to invoke