public void EnterOption(bool hasValue) { _require(StreamOp.Option); if (hasValue) { var option = (OptionSchema)_state.Schema; _stack.Push(_state); _state = new SchemaState(option.ElementType, _state.Tag, -1); } else { _moveNext(); } }