public void addPendingObject(PDFObject obj)

        {
            if (_lastObject + 1 == obj.getId())
            {
                beginObject(obj.getId());
                obj.writeObject(this);
                endObject();
            }
            else
            {
                _pendingObjects.add(obj);
            }
        }
        public void endObject()

        {
            println("endobj");

            _lastObject++;

            for (int i = _pendingObjects.size() - 1; i >= 0; i--)
            {
                PDFObject obj = _pendingObjects.get(i);

                if (_lastObject + 1 == obj.getId())
                {
                    _pendingObjects.remove(i);

                    beginObject(obj.getId());
                    obj.writeObject(this);
                    endObject();
                    break;
                }
            }
        }