'Construct graph of parts and realized relationships based on the
contents of *pkg_reader*, delegating construction of each part to
*part_factory*. Package relationships are added to *pkg*.'

@staticmethod
def unmarshal(pkg_reader, package, part_factory):

    parts = Unmarshaller._unmarshal_parts(pkg_reader, package, part_factory)
    Unmarshaller._unmarshal_relationships(pkg_reader, package, parts)
    for part in parts.values():
        part.after_unmarshal()
    package.after_unmarshal()
