code: @SuppressWarnings("unchecked")
    public static <T> Collection<T> filterAndTransform(Collection<T> collection,
        FilteringTransformer<T> filteringTransformer) {
  
      Assert.notNull(collection, "Collection is required");
      Assert.notNull(filteringTransformer, "FilteringTransformer is required");
  
      return collection.stream()
        .filter(filteringTransformer::accept)
        .map(filteringTransformer::transform)
        .collect(Collectors.toList());
    }
docs: Filters and transforms the {@link Collection} of elements using the specified {@link FilteringTransformer}.
  
  @param <T> Class type of the elements in the {@link Collection}.
  @param collection {@link Collection} to filter and transform.
  @param filteringTransformer {@link FilteringTransformer} used to filter and transform the {@link Collection}.
  @return a filtered, transformed {@link Collection} of elements accepted and modified
  by the {@link FilteringTransformer}.
  @throws IllegalArgumentException if either the {@link Collection} or {@link FilteringTransformer} are null.
  @see org.cp.elements.lang.FilteringTransformer
  @see java.util.Collection