presto-accumulo/src/main/java/io/prestosql/plugin/accumulo/AccumuloClient.java/AccumuloClient/getRangeFromPrestoRange
class AccumuloClient:    private static Range getRangeFromPrestoRange(io.prestosql.spi.predicate.Range prestoRange, AccumuloRowSerializer serializer)
            throws TableNotFoundException
    {
        Range accumuloRange;
        if (prestoRange.isAll()) {
            accumuloRange = new Range();
        }
        else if (prestoRange.isSingleValue()) {
            Text split = new Text(serializer.encode(prestoRange.getType(), prestoRange.getSingleValue()));
            accumuloRange = new Range(split);
        }
        else {
            if (prestoRange.getLow().isLowerUnbounded()) {
                // If low is unbounded, then create a range from (-inf, value), checking inclusivity
                boolean inclusive = prestoRange.getHigh().getBound() == Bound.EXACTLY;
                Text split = new Text(serializer.encode(prestoRange.getType(), prestoRange.getHigh().getValue()));
                accumuloRange = new Range(null, false, split, inclusive);
            }
            else if (prestoRange.getHigh().isUpperUnbounded()) {
                // If high is unbounded, then create a range from (value, +inf), checking inclusivity
                boolean inclusive = prestoRange.getLow().getBound() == Bound.EXACTLY;
                Text split = new Text(serializer.encode(prestoRange.getType(), prestoRange.getLow().getValue()));
                accumuloRange = new Range(split, inclusive, null, false);
            }
            else {
                // If high is unbounded, then create a range from low to high, checking inclusivity
                boolean startKeyInclusive = prestoRange.getLow().getBound() == Bound.EXACTLY;
                Text startSplit = new Text(serializer.encode(prestoRange.getType(), prestoRange.getLow().getValue()));

                boolean endKeyInclusive = prestoRange.getHigh().getBound() == Bound.EXACTLY;
                Text endSplit = new Text(serializer.encode(prestoRange.getType(), prestoRange.getHigh().getValue()));
                accumuloRange = new Range(startSplit, startKeyInclusive, endSplit, endKeyInclusive);
            }
        }

        return accumuloRange;
    }