public Object evaluate(Object feature) {
    int arg0;

    try { // attempt to get value and perform conversion
      arg0 = (getExpression(0).evaluate(feature, Integer.class)).intValue();
    } catch (Exception e) // probably a type error
    {
      throw new IllegalArgumentException(
          "Filter Function problem for function int2ddouble argument #0 - expected type int");
    }

    return new Double(StaticGeometry.int2ddouble(arg0));
  }