code: public Object unpackNull() throws IOException
          {
              final byte markerByte = in.readByte();
              if ( markerByte != NULL )
              {
                  throw new Unexpected( "Expected a null, but got: 0x" + toHexString( markerByte & 0xFF ) );
              }
              return null;
          }
docs: This may seem confusing. This method exists to move forward the internal pointer when encountering
  a null value. The idiomatic usage would be someone using {@link #peekNextType()} to detect a null type,
  and then this method to "skip past it".
  @return null
  @throws IOException if the unpacked value was not null