private Nothing Handle(ITransportConnectionOpenHeader header, Nothing _) { switch (_state) { case State.NotConnected: _state = State.Connected; break; default: throw new ProtocolException($"Received unexpected header of type {header.GetType()} in state {_state}"); } return(_); }