static public InfixOperator createInfixOperator(final String operatorStr, final String headStr, final int precedence, final int grouping) { InfixOperator oper; if (headStr.equals("Apply")) { oper = new ApplyOperator(operatorStr, headStr, precedence, grouping); } else if (headStr.equals("Divide")) { oper = new DivideOperator(operatorStr, headStr, precedence, grouping); } else if (headStr.equals("Subtract")) { oper = new SubtractOperator(operatorStr, headStr, precedence, grouping); } else { oper = new InfixOperator(operatorStr, headStr, precedence, grouping); } return oper; }