public static NodeSequence withNodeKeys( final Collection<NodeKey> keys,
                                             final float score,
                                             final String workspaceName,
                                             final RepositoryCache repository ) {
        if (keys == null || keys.isEmpty()) return emptySequence(1);
        return withNodeKeys(keys.iterator(), keys.size(), score, workspaceName, repository);
    }
public static NodeSequence withNodeKeys ( final Collection < NodeKey > keys , final float score , final String workspaceName , final RepositoryCache repository ) { if ( keys == null || keys . isEmpty ( ) ) return emptySequence ( 1 ) ; return withNodeKeys ( keys . iterator ( ) , keys . size ( ) , score , workspaceName , repository ) ; }
Create a sequence of nodes that iterates over the supplied node keys. Note that the supplied iterator is accessed lazily as
the resulting sequence's {@link #nextBatch() first batch} is {@link Batch#nextRow() used}.

@param keys the iterator over the keys of the nodes to be returned; if null, an {@link #emptySequence empty instance} is
returned
@param score the score to return for all of the nodes
@param workspaceName the name of the workspace in which all of the nodes exist
@param repository the repository cache used to access the workspaces and cached nodes; may be null only if the key sequence
is null or empty
@return the sequence of nodes; never null