code: function traverseBroad(object, visitor) {
          var key, child;
  
          if (!object) {
              return;
          }
  
          if (visitor.call(null, object) === false) {
              return false;
          }
          for (key in object) {
              if (object.hasOwnProperty(key)) {
                  child = object[key];
                  if (typeof child === 'object' && child !== null) {
                      traverseBroad(child, visitor);
                  }
              }
          }
      }
docs: Like traverse, but visitor returning false just stops that subtree analysis, not the rest of tree visiting.