public static Factory<List<Pair<String, Icon>>> createPresentationFunction(final Factory<? extends Collection<?>> variantFactory) {
    return () -> ContainerUtil.map(variantFactory.create(),
                                   (Function<Object, Pair<String, Icon>>)s -> Pair
                                     .create(ElementPresentationManager.getElementName(s), ElementPresentationManager.getIcon(s)));
  }
public static Factory<List<Pair<String, Icon>>> createPresentationFunction(final Factory<? extends Collection<?>> variantFactory)