private LinkedHashSet<String> aliases(
      final AbstractBuild<?, ?> build, final BuildListener listener)
      throws IOException, InterruptedException {

    final LinkedHashSet<String> aliases = new LinkedHashSet<String>(providers.size());
    for (final AliasProvider provider : providers) {

      final List<String> names = provider.names(build, listener);
      aliases.addAll(names);
    }

    return filterAliases(aliases, listener);
  }