@Override public Query rangeQuery( Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper) { failIfNotIndexed(); InetAddress lower; if (lowerTerm == null) { lower = XInetAddressPoint.MIN_VALUE; } else { lower = parse(lowerTerm); if (includeLower == false) { if (lower.equals(XInetAddressPoint.MAX_VALUE)) { return new MatchNoDocsQuery(); } lower = XInetAddressPoint.nextUp(lower); } } InetAddress upper; if (upperTerm == null) { upper = XInetAddressPoint.MAX_VALUE; } else { upper = parse(upperTerm); if (includeUpper == false) { if (upper.equals(XInetAddressPoint.MIN_VALUE)) { return new MatchNoDocsQuery(); } upper = XInetAddressPoint.nextDown(upper); } } return InetAddressPoint.newRangeQuery(name(), lower, upper); }