'Constructor.
Args:
path_globs_blacklist: List of paths.GlobExpression values. Blacklist
will be applied before the whitelist.
path_globs_whitelist: List of paths.GlobExpression values. Whitelist
will be applied after the blacklist.
Raises:
ValueError: If path_globs_blacklist/whitelist is passed, but
the other blacklist/whitelist argument is not.
Note that path_globs_blacklist/whitelist arguments can only be passed
together. The algorithm of applying the lists is the following:
1. If the lists are not set, include the file into the archive. Otherwise:
2. If the file matches the blacklist, skip the file. Otherwise:
3. If the file does match the whitelist, skip the file.'

def __init__(self, path_globs_blacklist=None, path_globs_whitelist=None):

    super(api_call_handler_base.ApiCallHandler, self).__init__()
    if (len([x for x in (path_globs_blacklist, path_globs_whitelist) if (x is None)]) == 1):
        raise ValueError('path_globs_blacklist/path_globs_whitelist    have    to    set/unset    together.')
    self.path_globs_blacklist = path_globs_blacklist
    self.path_globs_whitelist = path_globs_whitelist
