private bool DoPattern(TState state, TEvent anEvent) { return(StartState.Equals(state) && (Condition != null && Condition(anEvent))); }