public Object evaluate(Object feature) { Object arg0; Object arg1; Object arg2; Object arg3; try { // attempt to get value and perform conversion arg0 = (Object) getExpression(0).evaluate(feature); } catch (Exception e) // probably a type error { throw new IllegalArgumentException( "Filter Function problem for function in3 argument #0 - expected type Object"); } try { // attempt to get value and perform conversion arg1 = (Object) getExpression(1).evaluate(feature); } catch (Exception e) // probably a type error { throw new IllegalArgumentException( "Filter Function problem for function in3 argument #1 - expected type Object"); } try { // attempt to get value and perform conversion arg2 = (Object) getExpression(2).evaluate(feature); } catch (Exception e) // probably a type error { throw new IllegalArgumentException( "Filter Function problem for function in3 argument #2 - expected type Object"); } try { // attempt to get value and perform conversion arg3 = (Object) getExpression(3).evaluate(feature); } catch (Exception e) // probably a type error { throw new IllegalArgumentException( "Filter Function problem for function in3 argument #3 - expected type Object"); } return new Boolean(StaticGeometry.in3(arg0, arg1, arg2, arg3)); }