@SuppressWarnings({ "rawtypes", "unchecked" })
protected Function<? super Collection<?>, ?> lookupTransformation(String t1) {
TypeToken<U> targetType = targetSensor.getTypeToken();
Function<?, ?> result;
if ("average".equalsIgnoreCase(t1)) {
result = MathAggregatorFunctions.computingAverage(null, null, (TypeToken<? extends Number>) targetType);
} else if ("sum".equalsIgnoreCase(t1)) {
result = MathAggregatorFunctions.computingSum(null, null, (TypeToken<? extends Number>) targetType);
} else if ("min".equalsIgnoreCase(t1)) {
result = MathAggregatorFunctions.computingMin(null, null, (TypeToken<? extends Number>) targetType);
} else if ("max".equalsIgnoreCase(t1)) {
result = MathAggregatorFunctions.computingMax(null, null, (TypeToken<? extends Number>) targetType);
} else if ("isQuorate".equalsIgnoreCase(t1)) {
result = new Enrichers.ComputingIsQuorate(targetType,
QuorumChecks.of(config().get(QUORUM_CHECK_TYPE)), config().get(QUORUM_TOTAL_SIZE));
} else if ("list".equalsIgnoreCase(t1)) {
result = new ComputingList();
} else if ("first".equalsIgnoreCase(t1)) {
result = new FirstOrNull();
} else {
result = null;
}
return (Function<? super Collection<?>, ?>) result;
}