final DiffHistoricalState historicalState = new DiffHistoricalState(to.getVersion());
SimultaneousExecutor executor = new SimultaneousExecutor();
for(final TypeDiffInstruction<?> typeInstruction : from.getTypeDiffInstructions()) {
executor.execute(new Runnable() {
public void run() {
Map<Object, Object> fromTypeState = from.getTypeState(typeInstruction.getTypeIdentifier());
Map<Object, Object> toTypeState = to.getTypeState(typeInstruction.getTypeIdentifier());
historicalState.addTypeState(typeInstruction, fromTypeState, toTypeState);