def __init__(self, dependsOn, maximumRetries, runsOn,
                 workerGroup, **kwargs):
        if not exactly_one(runsOn, workerGroup):
            raise ETLInputError(
                'Exactly one of runsOn or workerGroup allowed!')

        if runsOn:
            kwargs['runsOn'] = runsOn
        else:
            kwargs['workerGroup'] = workerGroup
        super(Activity, self).__init__(
            dependsOn=dependsOn,
            maximumRetries=maximumRetries,
            **kwargs
        )
Choose an C{ICredentialFactory} from C{_credentialFactories}
dataset/ETHPy150Open coursera/dataduct/dataduct/pipeline/activity.py/Activity.__init__--crossover with--dataset/ETHPy150Open twisted/twisted/twisted/web/_auth/wrapper.py/HTTPAuthSessionWrapper._selectParseHeader