private void initPageContents() throws InterruptedException {
        Object pageContent = library.getObject(entries, CONTENTS_KEY.getName());

        // if a stream process it as needed
        if (pageContent instanceof Stream) {
            contents = new Vector<Stream>(1);
            Stream tmpStream = (Stream) pageContent;
            tmpStream.setPObjectReference(
                    library.getObjectReference(entries, CONTENTS_KEY.getName()));
            contents.addElement(tmpStream);
        }
        // if a vector, process it as needed
        else if (pageContent instanceof Vector) {
            Vector conts = (Vector) pageContent;
            int sz = conts.size();
            contents = new Vector<Stream>(Math.max(sz, 1));
            // pull all of the page content references from the library
            for (int i = 0; i < sz; i++) {
                if (Thread.interrupted()) {
                    throw new InterruptedException("Page Content initialization thread interrupted");
                }
                Stream tmpStream = (Stream) library.getObject((Reference) conts.elementAt(i));
                if (tmpStream != null) {
                    tmpStream.setPObjectReference((Reference) conts.elementAt(i));
                    contents.addElement(tmpStream);
                }
            }
        }
    }