code: private Feature[] featuresSorted(Set<String> excluded) {
          return this.features.values().stream().filter(f -> !excluded.contains(f.name()))
              .sorted(Comparator.comparing(Feature::name)).toArray(Feature[]::new);
      }
docs: Get all the features in an array except the excluded ones in sorted order. The sorting is done on the name.
  
  @param excluded the set of the names of the features that are not included to the result
  @return the array of the features sorted.