### Question:
GeoWaveUtils { public static long decodePosition(String geohash) { return geohash.equals("00") ? 0L : Long.parseLong(geohash.substring(2), 16); }  static List<ByteArrayRange> optimizeByteArrayRanges(Geometry queryGeometry, List<ByteArrayRange> byteArrayRanges, int rangeSplitThreshold,
                    double maxRangeOverlap); static List<ByteArrayRange> optimizeByteArrayRanges(Geometry queryGeometry, List<ByteArrayRange> byteArrayRanges, int rangeSplitThreshold,
                    double maxRangeOverlap, ByteBuffer longBuffer); static List<ByteArrayRange> optimizeByteArrayRange(Geometry queryGeometry, ByteArrayRange byteArrayRange, int rangeSplitThreshold,
                    double maxRangeOverlap); static List<ByteArrayRange> optimizeByteArrayRange(Geometry queryGeometry, ByteArrayRange byteArrayRange, int rangeSplitThreshold,
                    double maxRangeOverlap, ByteBuffer longBuffer); static List<ByteArrayRange> mergeContiguousRanges(List<ByteArrayRange> byteArrayRanges); static List<ByteArrayRange> mergeContiguousRanges(List<ByteArrayRange> byteArrayRanges, ByteBuffer longBuffer); static List<ByteArrayRange> splitLargeRanges(List<ByteArrayRange> byteArrayRanges, Geometry queryGeometry, double maxRangeOverlap); static List<ByteArrayRange> splitLargeRanges(List<ByteArrayRange> byteArrayRanges, Geometry queryGeometry, double maxRangeOverlap,
                    ByteBuffer longBuffer); static int decodeTier(String geohash); static int decodeTier(byte[] byteArray); static long decodePosition(String geohash); static long decodePosition(byte[] byteArray); static long decodePosition(byte[] byteArray, ByteBuffer longBuffer); static int hexCharsPerTier(int tier); static byte[] createByteArray(String geohash); static byte[] createByteArray(int tier, long position); static byte[] createByteArray(String geohash, ByteBuffer longBuffer); static byte[] createByteArray(int tier, long position, ByteBuffer longBuffer); static ByteArrayRange createByteArrayRange(String startGeohash, String endGeohash); static ByteArrayRange createByteArrayRange(int tier, long min, long max); static ByteArrayRange createByteArrayRange(String startGeohash, String endGeohash, ByteBuffer longBuffer); static ByteArrayRange createByteArrayRange(int tier, long min, long max, ByteBuffer longBuffer); static Geometry positionToGeometry(String geohash); static Geometry positionToGeometry(int tier, long position); static Geometry positionToGeometry(String geohash, ByteBuffer longBuffer); static Geometry positionToGeometry(int tier, long position, ByteBuffer longBuffer); static Geometry positionToGeometry(byte[] byteArray); static Geometry rangeToGeometry(String startGeohash, String endGeohash); static Geometry rangeToGeometry(ByteArrayRange byteArrayRange); static Geometry rangeToGeometry(int tier, long start, long end); static Geometry rangeToGeometry(String startGeohash, String endGeohash, ByteBuffer longBuffer); static Geometry rangeToGeometry(ByteArrayRange byteArrayRange, ByteBuffer longBuffer); static Geometry rangeToGeometry(int tier, long start, long end, ByteBuffer longBuffer); static List<byte[]> decomposeRange(String startGeohash, String endGeohash); static List<byte[]> decomposeRange(int tier, long start, long end); static List<byte[]> decomposeRange(String startGeohash, String endGeohash, ByteBuffer longBuffer); static List<byte[]> decomposeRange(int tier, long start, long end, ByteBuffer longBuffer);  }### Answer:
@Test public void decodePositionTest() { Assert.assertEquals(3, GeoWaveUtils.decodePosition("0103")); Assert.assertEquals(123456, GeoWaveUtils.decodePosition(GeoWaveUtils.createByteArray(31, 123456))); }