public void add4(final int key, final Object value) {
            int p = lp--;
            if (p == 4 || key < al[p]) {
                al[p - 1] = key;
                lv = key;
                vla[p - 1] = value;
                return;
            }
            al[p - 1] = al[p];
            lv = al[p];
            vla[p - 1] = vla[p];
            p++;

            if (p == 4 || key < al[p]) {
                al[p - 1] = key;
                vla[p - 1] = value;
                return;
            }
            al[p - 1] = al[p];
            vla[p - 1] = vla[p];
            p++;

            if (p == 4 || key < al[p]) {
                al[p - 1] = key;
                vla[p - 1] = value;
                return;
            }
            al[p - 1] = al[p];
            vla[p - 1] = vla[p];

            al[p] = key;
            vla[p] = value;
        }
add a key value pair to the heap

@param key   the key to insert
@param value the value to insert object
main/src/main/java/cgeo/geocaching/brouter/util/SortedHeap.java