checkOpen();
final Map<String, NodeData> aggregateRoots = new HashMap<String, NodeData>();
final Set<String> removedNodeIds = new HashSet<String>();
final Set<String> addedNodeIds = new HashSet<String>();
index.update(IteratorUtils.toList(new TransformIterator(remove, new Transformer()
{
public Object transform(Object input)
{
String uuid = ((String)input);
removedNodeIds.add(uuid);
return uuid;
}
})), IteratorUtils.toList(new TransformIterator(add, new Transformer()
{
public Object transform(Object input)
{
NodeData state = (NodeData)input;
if (state == null)