code: def get_gatk_version(self):
          
          if self._gatk_version is None:
              self._set_default_versions(self._config)
  
          if "gatk4" not in dd.get_tools_off({"config": self._config}):
              # In cases whwere we don't have manifest versions. Not possible to get
              # version from commandline with GATK4 alpha version
              if self._gatk4_version is None:
                  self._gatk4_version = "4.0"
              return self._gatk4_version
          elif self._gatk_version is not None:
              return self._gatk_version
          else:
              if self._has_gatk_conda_wrapper():
                  gatk_jar = None
              else:
                  gatk_jar = self._get_jar("GenomeAnalysisTK", ["GenomeAnalysisTKLite"], allow_missing=True)
              self._gatk_version = get_gatk_version(gatk_jar, config=self._config)
              return self._gatk_version
docs: Retrieve GATK version, handling locally and config cached versions.
          Calling version can be expensive due to all the startup and shutdown
          of JVMs, so we prefer cached version information.