@Override protected Object evaluate(Iterator args) { Object[] argArray = new Object[_ci.getParameters().length]; if (_boundValues != null) { args = Arrays.asList(_boundValues).iterator(); } for (int i = 0; i < argArray.length; i++) { argArray[i] = args.next(); } return _ci.getConstructor().newInstance(argArray); }