def load_dynamic_class(fqn, subclass):
    if not isinstance(fqn, basestring):
        return fqn

    cls = load_class_from_name(fqn)

    if cls == subclass or not issubclass(cls, subclass):
        raise TypeError("%s is not a valid %s" % (fqn, subclass.__name__))

    return cls
The two interfaces have all of the same names defined.
dataset/ETHPy150Open BrightcoveOS/Diamond/src/diamond/utils/classes.py/load_dynamic_class--crossover with--dataset/ETHPy150Open ClusterHQ/flocker/flocker/node/agents/test/test_blockdevice.py/BlockDeviceInterfaceTests.test_names