conditionFunctions = new HashSet<Function>(targetFunctions);
// add condition function TimeInRange
conditionFunctions.add(new TimeInRangeFunction());
// add condition functions from BagFunction
conditionFunctions.addAll((new ConditionBagFunctionCluster()).getSupportedFunctions());
// add condition functions from SetFunction
conditionFunctions.addAll((new ConditionSetFunctionCluster()).getSupportedFunctions());
// add condition functions from HigherOrderFunction
conditionFunctions.addAll((new HigherOrderFunctionCluster()).getSupportedFunctions());