private Map<String, List<EventId>> extractCurrentMatches(
			final SharedBufferAccessor<T> sharedBufferAccessor,
			final ComputationState computationState) throws Exception {
		if (computationState.getPreviousBufferEntry() == null) {
			return new HashMap<>();
		}

		List<Map<String, List<EventId>>> paths = sharedBufferAccessor.extractPatterns(
				computationState.getPreviousBufferEntry(),
				computationState.getVersion());

		if (paths.isEmpty()) {
			return new HashMap<>();
		}
		// for a given computation state, we cannot have more than one matching patterns.
		Preconditions.checkState(paths.size() == 1);

		return paths.get(0);
	}
private Map < String , List < EventId > > extractCurrentMatches ( final SharedBufferAccessor < T > sharedBufferAccessor , final ComputationState computationState ) throws Exception { if ( computationState . getPreviousBufferEntry ( ) == null ) { return new HashMap < > ( ) ; } List < Map < String , List < EventId > > > paths = sharedBufferAccessor . extractPatterns ( computationState . getPreviousBufferEntry ( ) , computationState . getVersion ( ) ) ; if ( paths . isEmpty ( ) ) { return new HashMap < > ( ) ; } Preconditions . checkState ( paths . size ( ) == 1 ) ; return paths . get ( 0 ) ; }
Extracts all the sequences of events from the start to the given computation state. An event
sequence is returned as a map which contains the events and the names of the states to which
the events were mapped.

@param sharedBufferAccessor The accessor to {@link SharedBuffer} from which to extract the matches
@param computationState The end computation state of the extracted event sequences
@return Collection of event sequences which end in the given computation state
@throws Exception Thrown if the system cannot access the state.