code: 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);
      }
docs: 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