- addHighLevelStateSubcomponentID("c00", cell00);
- addHighLevelStateSubcomponentID("c01", cell01);
- addHighLevelStateSubcomponentID("c10", cell10);
- addHighLevelStateSubcomponentID("c11", cell11);
- addAtomicHighLevelStateID("q");
+ this.highLevelStateHandler = new StandardHighLevelStateHandler(this);
+ highLevelStateHandler.addSubcomponentHighLevelState("c00", DelegatingSubcomponentHighLevelStateHandler::new).set(cell00, null);
+ highLevelStateHandler.addSubcomponentHighLevelState("c01", DelegatingSubcomponentHighLevelStateHandler::new).set(cell01, null);
+ highLevelStateHandler.addSubcomponentHighLevelState("c10", DelegatingSubcomponentHighLevelStateHandler::new).set(cell10, null);
+ highLevelStateHandler.addSubcomponentHighLevelState("c11", DelegatingSubcomponentHighLevelStateHandler::new).set(cell11, null);
+ highLevelStateHandler.addAtomicHighLevelState("q", BitVectorSplittingAtomicHighLevelStateHandler::new)
+ .set(Arrays.asList("c00.q", "c01.q", "c10.q", "c11.q"), Arrays.asList(4, 4, 4, 4));