Collection<SystemModelDelta> deltas = new ArrayList<SystemModelDelta>(_toStates.size());
_latestDelta = new SingleDeltaBuilder(_deltaProcessor,
getOriginalUnfilteredCurrentModel(),
getOriginalUnfilteredCurrentModel(),
new SystemEntryKeyDeltaSystemModelFilter(getOriginalDelta().getFilteredKeys()));
Set<String> filteredKeys =
SingleDeltaBuilder.computeFilteredKeys(getOriginalUnfilteredExpectedModel(),
getOriginalUnfilteredCurrentModel(),
_latestDelta.getDeltaSystemModelFilter());
_latestDelta.setFilteredKeys(filteredKeys);
_latestDelta.setParentKeys(new HashSet<String>(getOriginalDelta().getParentKeys()));
for(String state : _toStates)
{
_newFilteredKeys = new HashSet<String>(_latestDelta.getFilteredKeys());
SystemModel newExpectedModel = createNewExpectedModel(state);
_latestDelta =
new SingleDeltaBuilder(_deltaProcessor,
newExpectedModel,
_latestDelta.getUnfilteredExpectedModel(),
new SystemEntryKeyDeltaSystemModelFilter(_newFilteredKeys));
SystemModelDelta delta = _latestDelta.build();
deltas.add(delta);
}