extract() {
        return map(this, 'extract', arguments);
    }
Clone a hierarchy of all nodes matching a predicate.

Because it filters deeply, we must clone all nodes so that we
don't affect the actual node array.

@param {string|function} predicate State flag or custom function.
@return {TreeNodes} Array of node objects.