code: public static <ENTRY> String transformCollectionToString(final Collection<ENTRY> collection, final Transformer<ENTRY, String> transformer, final String separator, final Filter<ENTRY> ... filters) {
          String stringRepresentation = "";
          outer: for (ENTRY entry : collection) {
  
              if (entry == null) {
                  continue;
              }
  
              for (Filter<ENTRY> filter : filters) {
                  if(filter.match(entry)) {
                      continue outer;
                  }
              }
  
              final String entryString;
              try {
                  entryString = transformer.transform(entry);
              } catch (CouldNotPerformException ex) {
                  ExceptionPrinter.printHistory("Skip Entry["+entry+"]!", ex, LoggerFactory.getLogger(StringProcessor.class), LogLevel.WARN);
                  continue;
              }
  
              if (entryString.isEmpty()) {
                  continue;
              }
  
              if (!stringRepresentation.isEmpty()) {
                  stringRepresentation += separator;
              }
  
              stringRepresentation += entryString;
          }
          return stringRepresentation;
      }
docs: Method calls toString on each entry of the given collection and builds a string where each entry is separated by the given separator.
  
  @param collection the collection providing entries to print.
  @param transformer provides a transformation from an entry to the string representation.
  @param separator  the separator between each entry to use.
  @param filters a set of filters to skip specific entries.
  
  @return the string representation of the collection.