@classmethod
def parse(cls, name, default_owner=None, default_activity_group=None):
    """
        This parses the standard, extended format for naming statistics.  It is one to three fields, separated by ':'.
        These are one of 'name', 'owner:name', or 'owner:name:activity_group'.
        Currently this is used only by reftuple which itself is used only in the power pipeline configuration.
        """
    parts, owner, activity_group = name.split(':'), None, None
    if len(parts) == 1:
        name = parts[0]
    elif len(parts) == 2:
        owner, name = parts
    else:
        owner, name, activity_group = parts
    if not owner:
        owner = default_owner
    if not owner:
        raise Exception(f'Missing owner for {name}')
    if not activity_group:
        activity_group = default_activity_group
    if activity_group == 'None':
        activity_group = None
    return owner, name, activity_group
