private void dble() {
        assert shared == 0;
        Entry[] oldtable = table;
        Entry[] newtable = new Entry[oldtable.length * 2];
        for (Scope s = this; s != null; s = s.next) {
            if (s.table == oldtable) {
                assert s == this || s.shared != 0;
                s.table = newtable;
                s.hashMask = newtable.length - 1;
            }
        }
        for (int i = 0; i < newtable.length; i++) newtable[i] = sentinel;
        for (int i = 0; i < oldtable.length; i++) copy(oldtable[i]);
    }