*/
    private void parse(Vector v) {

        // Assign a Reference
        Object ob = v.get(0);
        if (ob instanceof Reference) {
            ref = (Reference) ob;
        }
        // store type.
        ob = v.get(1);
        if (ob instanceof Name) {
            type = (Name) ob;
        } else {
            type = new Name(ob.toString());
        }
        // [page /XYZ left top zoom ]
        if (type.equals(TYPE_XYZ)) {
            ob = v.get(2);
            if (ob != null && !ob.equals("null")) {
                left = ((Number) ob).floatValue();
            }
            ob = v.get(3);
            if (ob != null && !ob.equals("null")) {
                top = ((Number) ob).floatValue();
            }
            ob = v.get(4);
            if (ob != null && !ob.equals("null") && !ob.equals("0")) {
                zoom = ((Number) ob).floatValue();
            }
        }
        // [page /FitH top]
        else if (type.equals(TYPE_FITH)) {
            ob = v.get(2);
            if (ob != null && !ob.equals("null")) {
                top = ((Number) ob).floatValue();
            }
        }
        // [page /FitR left bottom right top]
        else if (type.equals(TYPE_FITR)) {
            ob = v.get(2);
            if (ob != null && !ob.equals("null")) {
                left = ((Number) ob).floatValue();
            }
            ob = v.get(3);
            if (ob != null && !ob.equals("null")) {
                bottom = ((Number) ob).floatValue();
            }
            ob = v.get(4);
            if (ob != null && !ob.equals("null")) {
                right = ((Number) ob).floatValue();
            }
            ob = v.get(5);
            if (ob != null && !ob.equals("null")) {
                top = ((Number) ob).floatValue();
            }
        }
        // [page /FitB]
        else if (type.equals(TYPE_FITB)) {
            // nothing to parse
        }
        // [page /FitBH top]
        else if (type.equals(TYPE_FITBH)) {
            ob = v.get(2);
            if (ob != null && !ob.equals("null")) {
                top = ((Number) ob).floatValue();                
            }
        }
        // [page /FitBV left]
        else if (type.equals(TYPE_FITBV)) {
            ob = v.get(2);
            if (ob != null && !ob.equals("null")) {
                left = ((Number) ob).floatValue();
            }
        }
    }