Load the record in a concrete subclass of this type.

def characterize(cls, record):
        """Load the record in a concrete subclass of this type.
        """
        classes = list(cls.__subclasses__())
        if not isabstract(cls):
            classes.append(cls)
        for subclass in classes:
            entity = subclass(record)
            if entity.is_valid():
                return entity
        raise RuntimeError("could not find the type for '{}'".format(record.id))