code: private Set<String> readFeatureNameList(String line) {
          String[] parts = FeatureDefinitionUtils.installedFeatureSplitPattern.split(line);
          return parts.length > 0 ? Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(parts))) : Collections.<String> emptySet();
      }
docs: Read the list of feature names from the cache string
  
  @param line the line read from the cache file
  @return Set of feature names