question: public byte [ ] filter ( byte [ ] buffer , int offset , int len ) { byte [ ] slices = getSlices ( buffer , offset , len ) ; if ( null == slices ) { return null ; } int insertionPoint = findInsertionPoint ( slices ) ; if ( insertionPoint >= 0 ) { return buffer ; } if ( - 1 == insertionPoint ) { if ( hasHinting ) { return Arrays . copyOf ( this . rangekeys , this . bounds [ 1 ] ) ; } else { return null ; } } if ( - nranges - 1 == insertionPoint ) { if ( hasHinting ) { return EMPTY_BYTE_ARRAY ; } else { return null ; } } if ( - ( insertionPoint + 1 ) % 2 == 0 ) { if ( hasHinting ) { int hintOffset = this . slicesLength * ( - ( insertionPoint + 1 ) ) ; return Arrays . copyOfRange ( this . rangekeys , hintOffset , this . bounds [ 1 ] ) ; } else { return null ; } } return buffer ; }
target:  Determine if a key should be filtered or not. This method returns a byte array which indicates how the key should be dealt with. If the return value is 'buffer', the key should be include. If the return value is null, the key should be skipped and no next key hint is available If the return value is a non empty byte array (different from 'buffer'), the key should be skipped and the return value used as the next key hint. If the return value is an empty byte array, the key is passed the last range and scanning should end