@classmethod
def remove_resource_decorator(cls, service_name, resource_name, method_names):
    """
    Removes the decorator function from the class' statically registered decorators.

    Class-registered decorators will be applied to every DecoratedSession object created.

    Arguments:
    service_name -- the boto3 name of the service to apply the decorator to.
    resource_name -- the boto3 name of the resource of the service to apply the decorator to.
    method_names -- one or more method names of the resource to apply the decorator to. Single names can be a string.
    """
    assert isinstance(method_names, (str, list, tuple, set, None)
        ), 'method_names must be a string, list, tuple, set or None'
    event_name = 'creating-resource-class.{}.{}'.format(service_name,
        resource_name)
    if not method_names or isinstance(method_names, str):
        cls.__remove_decorator(event_name, method_names)
    else:
        for method_name in method_names:
            cls.__remove_decorator(event_name, method_name)
