private static long altExpandId(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;
        }
        return ((long) dlon) << 32 | dlat;
    }
DirectWeaver does the same decoding as MicroCache2, but decodes directly
into the instance-graph, not into the intermediate nodes-cache
main/src/main/java/cgeo/geocaching/brouter/mapaccess/DirectWeaver.java