question: public static QueryFunctions extractFunctions ( String [ ] filterQueries ) { final QueryFunctions result = new QueryFunctions ( ) ; if ( isEmpty ( filterQueries ) ) { return result ; } String [ ] arguments = new String [ 0 ] ; for ( String unmodifiedAnalysis : filterQueries ) { String function = extractFunction ( unmodifiedAnalysis ) ; String [ ] functions ; if ( function . contains ( FUNCTION_ARGUMENT_SPLITTER ) ) { functions = function . split ( FUNCTION_ARGUMENT_SPLITTER ) ; } else { functions = new String [ ] { function } ; } for ( String subFunction : functions ) { if ( subFunction . contains ( AGGREGATION_ARGUMENT_DELIMITER ) ) { arguments = extractAggregationParameter ( subFunction ) ; subFunction = subFunction . substring ( 0 , subFunction . indexOf ( AGGREGATION_ARGUMENT_DELIMITER ) ) ; } FunctionType type = FunctionType . valueOf ( subFunction . toUpperCase ( ) ) ; addFunction ( result , type , arguments ) ; } } return result ; }
target:  Analyzes the filter queries and parses them for chronix fucntions