It's better if you don't use this ScanProjector.decodeProjectedValue(tuple,ptr), as there's no reason to have a dependency on this. Just do this instead:

        if (! tuple.getValue(ARRAY_VALUE_COLUMN_FAMILY, ARRAY_VALUE_COLUMN_QUALIFIER, ptr) ) {
            return false;
        }

Also, get rid of the try/catch as I don't think you need it.