def __init__(
        self, root_dir, scan_dir=None,
        allow_handlers_outside_root_dir=True):

        self._logger = util.get_class_logger(self)

        self._handler_suite_map = {}
        self._source_warnings = []
        if scan_dir is None:
            scan_dir = root_dir
        if not os.path.realpath(scan_dir).startswith(
                os.path.realpath(root_dir)):
            raise DispatchException('scan_dir:%s must be a directory under '
                                    'root_dir:%s.' % (scan_dir, root_dir))
        self._source_handler_files_in_dir(
            root_dir, scan_dir, allow_handlers_outside_root_dir)
Extracts cmake and make arguments from the given system arguments
dataset/ETHPy150Open google/pywebsocket/mod_pywebsocket/dispatch.py/Dispatcher.__init__--crossover with--dataset/ETHPy150Open catkin/catkin_tools/catkin_tools/argument_parsing.py/extract_cmake_and_make_arguments