public Object getEncodedDestination() {
        // write out the destination name
        if (namedDestination != null) {
            return namedDestination;
        }
        // build and return a fector of changed valued.
        else if (object instanceof Vector) {
            Vector<Object> v = new Vector<Object>(7);
            if (ref != null) {
                v.add(ref);
            }
            // named dest type
            if (type != null) {
                v.add(type);
            }
            // left
            if (left != Float.NaN) {
                v.add(left);
            }
            // bottom
            if (bottom != Float.NaN) {
                v.add(bottom);
            }
            // right
            if (right != Float.NaN) {
                v.add(right);
            }
            // top
            if (top != Float.NaN) {
                v.add(top);
            }
            // zoom
            if (zoom != Float.NaN) {
                v.add(zoom);
            }
            return v;
        }
        return null;
    }