def METHOD_NAME(
    self, collection: "Collection[ITEM]", topological: bool = True
) -> None:
    datastruct = self.deserialize_raw(collection.collection_types())
    if topological and isinstance(datastruct, list):  # type: ignore
        datastruct.sort(key=lambda x: x.get("depth", 1))
    try:
        if isinstance(datastruct, dict):
            # This is currently the corner case for the settings type.
            collection.from_dict(datastruct)  # type: ignore
        elif isinstance(datastruct, list):  # type: ignore
            collection.from_list(datastruct)
    except Exception as exc:
        logger.error(
            "Error while loading a collection: %s. Skipping collection %s!",
            exc,
            collection.collection_type(),
        )