MsgPack.SubtreeUnpacker.ReadSubtreeCore C# (CSharp) Method

ReadSubtreeCore() protected method

protected ReadSubtreeCore ( ) : Unpacker
return Unpacker
		protected override Unpacker ReadSubtreeCore()
		{
			if ( this._state == State.InHead )
			{
				// Duplicate call -- just return me.
				return this;
			}

			if ( this._unpacked.Count == 0 )
			{
				ThrowInTailException();
			}

			if ( this._root.InternalCollectionType == ItemsUnpacker.CollectionType.None )
			{
				ThrowNotInHeadOfCollectionException();
			}

			return new SubtreeUnpacker( this._root, this );
		}