public QuadTree getBranch(String ID) {
        if (id.equals(ID)) {
            return this;
        }
        QuadTree qt = this;
        ID = ID.substring(1);
        while (ID.length() > 0 && qt.nw != null) {
            if ('0' == ID.charAt(0)) qt = qt.nw;
            else if ('1' == ID.charAt(0)) qt = qt.ne;
            else if ('2' == ID.charAt(0)) qt = qt.sw;
            else if ('3' == ID.charAt(0)) qt = qt.se;
            else throw new RuntimeException("|" + id + "|");
            
            ID = ID.substring(1);
        }
        return qt;
    }