private bool Read( StreamingUnpacker unpacker, UnpackingMode unpackingMode ) { while ( !this.IsInStreamTail() ) { var data = unpacker.Unpack( this._currentSource.Stream, unpackingMode ); if ( data != null ) { this._data = data; return true; } else { this._mayInTail = true; } } return false; }