public NameNode(Library l, Hashtable h) {
        super(l, h);
        Object o = library.getObject(entries, "Kids");
        if (o != null && o instanceof Vector) {
            Vector v = (Vector) o;
            kidsReferences = v;
            int sz = kidsReferences.size();
            if (sz > 0) {
                kidsNodes = new Vector(sz);
                kidsNodes.setSize(sz);
            }
        }
        namesAreDecrypted = false;
        o = library.getObject(entries, "Names");
        if (o != null && o instanceof Vector) {
            namesAndValues = (Vector) o;
        }
        o = library.getObject(entries, "Limits");
        if (o != null && o instanceof Vector) {
            Vector limits = (Vector) o;
            if (limits.size() >= 2) {
                lowerLimit = decryptIfText(limits.get(0));
                upperLimit = decryptIfText(limits.get(1));
            }
        }
    }