@Override
    public long expandId(int id32) {
        int dlon = 0;
        int dlat = 0;

        for (int bm = 1; bm < 0x8000; bm <<= 1) {
            if ((id32 & 1) != 0) {
                dlon |= bm;
            }
            if ((id32 & 2) != 0) {
                dlat |= bm;
            }
            id32 >>= 2;
        }

        final int lon32 = lonBase + dlon;
        final int lat32 = latBase + dlat;

        return ((long) lon32) << 32 | lat32;
    }
MicroCache2 is the new format that uses statistical encoding and
is able to do access filtering and waypoint matching during encoding
main/src/main/java/cgeo/geocaching/brouter/codec/MicroCache2.java