if (isType(Double.class, range)) { return new RangeValueDouble((Range<Double>) range, edgeCases, dist); if (isType(Float.class, range)) { return new RangeValueFloat((Range<Float>) range, edgeCases, dist); if (isType(Long.class, range)) { return new RangeValueLong((Range<Long>) range, edgeCases, dist); if (isType(Integer.class, range)) { return new RangeValueInt((Range<Integer>) range, edgeCases, dist); if (isType(Short.class, range)) { return new RangeValueShort((Range<Short>) range, edgeCases, dist); if (isType(Byte.class, range)) { return new RangeValueByte((Range<Byte>) range, edgeCases, dist);
if (isType(Double.class, range)) { return new RangeValueDouble((Range<Double>) range, edgeCases, dist); if (isType(Float.class, range)) { return new RangeValueFloat((Range<Float>) range, edgeCases, dist); if (isType(Long.class, range)) { return new RangeValueLong((Range<Long>) range, edgeCases, dist); if (isType(Integer.class, range)) { return new RangeValueInt((Range<Integer>) range, edgeCases, dist); if (isType(Short.class, range)) { return new RangeValueShort((Range<Short>) range, edgeCases, dist); if (isType(Byte.class, range)) { return new RangeValueByte((Range<Byte>) range, edgeCases, dist);