class NativeIndexHeaderReader implements Header.Reader {

    @Override
    public void read( ByteBuffer headerData )
    {
        try
        {
            state = headerData.get();
            if ( state == BYTE_FAILED )
            {
                failureMessage = readFailureMessage( headerData );
            }
            else
            {
                additionalReader.read( headerData );
            }
        }
        catch ( BufferUnderflowException e )
        {
            state = BYTE_FAILED;
            failureMessage =
                    format( "Could not read header, most likely caused by index not being fully constructed. Index needs to be recreated. Stacktrace:%n%s",
                            ExceptionUtils.getStackTrace( e ) );
        }
    }

      NativeIndexHeaderReader( Header.Reader additionalReader );

}