QPDFOutlineObjectHelper::getDest()
{
    QPDFObjectHandle dest;
    QPDFObjectHandle A;
    if (this->oh.hasKey("/Dest"))
    {
        QTC::TC("qpdf", "QPDFOutlineObjectHelper direct dest");
        dest = this->oh.getKey("/Dest");
    }
    else if ((A = this->oh.getKey("/A")).isDictionary() &&
             A.getKey("/S").isName() &&
             (A.getKey("/S").getName() == "/GoTo") &&
             A.hasKey("/D"))
    {
        QTC::TC("qpdf", "QPDFOutlineObjectHelper action dest");
        dest = A.getKey("/D");
    }
    if (! dest.isInitialized())
    {
        dest = QPDFObjectHandle::newNull();
    }

    if (dest.isName() || dest.isString())
    {
        QTC::TC("qpdf", "QPDFOutlineObjectHelper named dest");
        dest = this->m->dh.resolveNamedDest(dest);
    }

    return dest;
}
QPDFOutlineObjectHelper::getDest()
{
    QPDFObjectHandle dest;
    QPDFObjectHandle A;
    if (this->oh.hasKey("/Dest"))
    {
        QTC::TC("qpdf", "QPDFOutlineObjectHelper direct dest");
        dest = this->oh.getKey("/Dest");
    }
    else if ((A = this->oh.getKey("/A")).isDictionary() &&
             A.getKey("/S").isName() &&
             (A.getKey("/S").getName() == "/GoTo") &&
             A.hasKey("/D"))
    {
        QTC::TC("qpdf", "QPDFOutlineObjectHelper action dest");
        dest = A.getKey("/D");
    }
    if (! dest.isInitialized())
    {
        dest = QPDFObjectHandle::newNull();
    }

    if (dest.isName() || dest.isString())
    {
        QTC::TC("qpdf", "QPDFOutlineObjectHelper named dest");
        dest = this->m->dh.resolveNamedDest(dest);
    }

    return dest;
}