code: def install(force=False, lazy=False):
      
  
      if exists(antlr_jar_path):
          if lazy:
              return
          if not force:
              raise OSError(errno.EEXIST, 'file already exists', antlr_jar_path)
  
      tool_url = config['tool_url']
      ssl_context = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH)
      with contextlib.closing(urlopen(tool_url, context=ssl_context)) as response:
          tool_jar = response.read()
  
      if not isdir(dirname(antlr_jar_path)):
          makedirs(dirname(antlr_jar_path))
  
      with open(antlr_jar_path, mode='wb') as tool_file:
          tool_file.write(tool_jar)
docs: Download the ANTLR v4 tool jar. (Raises :exception:`OSError` if jar
      is already available, unless ``lazy`` is ``True``.)
  
      :param bool force: Force download even if local jar already exists.
      :param bool lazy: Don't report an error if local jar already exists and
          don't try to download it either.