code: def find_best_candidate(
          self,
          package_name,  # type: str
          target_package_version=None,  # type:  Union[str, None]
          allow_prereleases=False,  # type: bool
      ):  # type: (...) -> Union[Package, bool]
          
          if target_package_version:
              constraint = parse_constraint(target_package_version)
          else:
              constraint = parse_constraint("*")
  
          candidates = self._pool.find_packages(
              package_name, constraint, allow_prereleases=allow_prereleases
          )
  
          if not candidates:
              return False
  
          dependency = Dependency(package_name, constraint)
  
          # Select highest version if we have many
          package = candidates[0]
          for candidate in candidates:
              if candidate.is_prerelease() and not dependency.allows_prereleases():
                  continue
  
              # Select highest version of the two
              if package.version < candidate.version:
                  package = candidate
  
          return package
docs: Given a package name and optional version,
          returns the latest Package that matches