docs: public static Batch batchOfKeys( final Iterator<NodeKey> keys,
                                       final long nodeCount,
                                       final float score,
                                       final String workspaceName,
                                       final NodeCache cache ) {
          assert nodeCount >= -1;
          if (keys == null) return emptyBatch(workspaceName, 1);
          return new Batch() {
              private CachedNode current;
  
              @Override
              public int width() {
                  return 1;
              }
  
              @Override
              public long rowCount() {
                  return nodeCount;
              }
  
              @Override
              public boolean isEmpty() {
                  return nodeCount == 0;
              }
  
              @Override
              public String getWorkspaceName() {
                  return workspaceName;
              }
  
              @Override
              public boolean hasNext() {
                  return keys.hasNext();
              }
  
              @Override
              public void nextRow() {
                  NodeKey key = keys.next();
                  current = cache.getNode(key);
              }
  
              @Override
              public CachedNode getNode() {
                  return current;
              }
  
              @Override
              public CachedNode getNode( int index ) {
                  if (index != 0) {
                      throw new IndexOutOfBoundsException();
                  }
                  return current;
              }
  
              @Override
              public float getScore() {
                  return score;
              }
  
              @Override
              public float getScore( int index ) {
                  if (index != 0) throw new IndexOutOfBoundsException();
                  return score;
              }
  
              @Override
              public String toString() {
                  return "(batch key-count=" + rowCount() + " score=" + getScore() + " " + keys + ")";
              }
          };
      }