diff --git a/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/.ratings b/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/.ratings
index f3011fbb8cd67f68260b81ad79f51ba8227dc615..25a0808bf19dd069b58d61f27e6be01c04e4f582 100644
--- a/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/.ratings
+++ b/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/.ratings
@@ -1 +1 @@
-LambdaUtils.java 4bd5016212e8d0b596a13ac7262cef1548e9b077 YELLOW
+LambdaUtils.java 1f86b97c677b5870bd02d3237f7af85f438dcf84 YELLOW
diff --git a/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/LambdaUtils.java b/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/LambdaUtils.java
index 00d10f1bb0731a96916f222c914b78f2624299bb..8c8006e9a3ae9d4c79cc49e7dabed2328fcf07d2 100644
--- a/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/LambdaUtils.java
+++ b/org.fortiss.tooling.common/trunk/src/org/fortiss/tooling/common/util/LambdaUtils.java
@@ -208,7 +208,28 @@ public class LambdaUtils {
 	 *            Type for which the elements shall be filtered.
 	 * @return Collection of elements of the given {@code filterType} (same as {@code outCol}).
 	 */
-	public static <S, T extends S, U extends T> Collection<T> filterByType(Collection<S> inCol,
+	public static <S, T> Collection<T> filterType(Collection<S> inCol, Class<T> typeFilter) {
+		List<T> outCol = new ArrayList<>();
+		filterStream(inCol, e -> typeFilter.isAssignableFrom(e.getClass())).map(typeFilter::cast)
+				.forEach(e -> outCol.add(e));
+		return outCol;
+	}
+
+	/**
+	 * Filters the elements of the given {@code inCol} collection based on their type by the given
+	 * {@code typeFilter}. The filtered elements are returned in an ArrayList.
+	 * <p>
+	 * NOTE: this version of the type filer expects the filtered typed to be directly assignable
+	 * from the type of the collection.
+	 * </p>
+	 * 
+	 * @param inCol
+	 *            Collection to be filtered.
+	 * @param typeFilter
+	 *            Type for which the elements shall be filtered.
+	 * @return Collection of elements of the given {@code filterType} (same as {@code outCol}).
+	 */
+	public static <S, T extends S, U extends T> Collection<T> filterTypeSafe(Collection<S> inCol,
 			Class<U> typeFilter) {
 		List<T> outCol = new ArrayList<>();
 		filterStream(inCol, e -> typeFilter.isAssignableFrom(e.getClass())).map(typeFilter::cast)