@classmethod
def get_catalog(klass, name):
    """
        Returns a Catalog object representing the catalog
        given by name.
        """
    if name not in list(klass.catalog_class_map.keys()):
        raise ValueError("unknown catalog '%s'" % name)
    try:
        catalog = klass.catalog_instance_map[name]
    except KeyError:
        catalogClass = klass.catalog_class_map[name]
        catalog = catalogClass()
        klass.catalog_instance_map[name] = catalog
    return catalog
