internal bool ArrayNext(bool first) { if (!first && _awaitingReadValue) { SkipValue(); } if (_delegate == null ? _tr.ArrayNext(first) : _delegate.ArrayNext(first)) { _awaitingReadValue = true; return(true); } return(false); }