code: @Override
     public void updateNodes(final Iterator<String> remove, final Iterator<NodeData> add) throws RepositoryException,
        IOException
     {
        checkOpen();
        apply(getChanges(remove, add));
     }
docs: This implementation forwards the call to
  {@link MultiIndex#update(Collection, Collection)} and transforms the two
  iterators to the required types.
  
  @param remove
  uuids of nodes to remove.
  @param add
  NodeStates to add. Calls to <code>next()</code> on this
  iterator may return <code>null</code>, to indicate that a node
  could not be indexed successfully.
  @throws RepositoryException
  if an error occurs while indexing a node.
  @throws IOException
  if an error occurs while updating the index.