code: def find_possible_homes(self, parents):
          
          homes = []
          java_names = ('jre', 'jdk', 'java')
  
          for parent in parents:
              for childname in sorted(os.listdir(parent)):
                  # Compute the real path
                  path = os.path.realpath(os.path.join(parent, childname))
                  if path in homes or not os.path.isdir(path):
                      # Already known path, or not a directory -> ignore
                      continue
  
                  # Check if the path seems OK
                  real_name = os.path.basename(path).lower()
                  for java_name in java_names:
                      if java_name in real_name:
                          # Correct JVM folder name
                          homes.append(path)
                          yield path
                          break
docs: Generator that looks for the first-level children folders that could be
          Java installations, according to their name
  
          :param parents: A list of parent directories
          :return: The possible JVM installation folders