docs: def find_central_module(self):  # type: () -> Optional[str]
          """
          Get the module that is the sole module, or the module
          that matches the package name/version
          :return:
          """
          # find modules.
          mf = ModuleFinder(self.file_opener)
  
          candidates = mf.find_by_any_method()
  
          sub_modules = []
          root_modules = []
  
          for candidate in candidates:
              if "." in candidate:
                  sub_modules.append(candidate)
              else:
                  root_modules.append(candidate)
  
          candidates = root_modules
  
          # remove junk. Junk only has meaning in the sense of finding the central module.
          candidates = self.remove_likely_non_central(candidates)
          if len(candidates) == 1:
              return candidates[0]
  
          # see if there is 1 out of the many with same name pkg_foo, module_foo
          if self.package_name:
              if self.package_name in candidates:
                  return self.package_name
  
          # I don't understand the _ to - transformations.
          if self.package_name:
              if self.package_name.replace("-", "_") in candidates:
                  return self.package_name.replace("-", "_")
  
          if self.package_name:
              if self.package_name.replace("-", "") in candidates:
                  return self.package_name.replace("-", "")
  
          if self.package_name:
              if self.package_name.replace("_", "") in candidates:
                  return self.package_name.replace("_", "")
          # see if there is 1 out of the many with version in sync- pkg_foo v1.2.3, module_bar v1.2.3
          # TODO:
  
          return None