class PDDocumentOutline extends PDOutlineNode
{

    /**
     * Default Constructor.
     */
    public PDDocumentOutline()
    {
        getCOSObject().setName(COSName.TYPE, COSName.OUTLINES.getName());
    }

    /**
     * Constructor for an existing document outline.
     *
     * @param dic The storage dictionary.
     */
    public PDDocumentOutline( COSDictionary dic )
    {
        super( dic );
        getCOSObject().setName(COSName.TYPE, COSName.OUTLINES.getName());
    }

    @Override
    public boolean isNodeOpen()
    {
        return true;
    }

    @Override
    public void openNode()
    {
        // The root of the outline hierarchy is not an OutlineItem and cannot be opened or closed
    }

    @Override
    public void closeNode()
    {<FILL_FUNCTION_BODY>}
}

        // The root of the outline hierarchy is not an OutlineItem and cannot be opened or closed
    
<methods>public void <init>() ,public void <init>(org.apache.pdfbox.cos.COSDictionary) ,public void addFirst(org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem) ,public void addLast(org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem) ,public Iterable<org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem> children() ,public void closeNode() ,public org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem getFirstChild() ,public org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem getLastChild() ,public int getOpenCount() ,public boolean hasChildren() ,public boolean isNodeOpen() ,public void openNode() <variables>