code: public static Object xy(final Object x, final Object y, final String expression) throws CompilationFailedException {
          Binding b = new Binding();
          b.setVariable("x", x);
          b.setVariable("y", y);
          GroovyShell sh = new GroovyShell(b);
          return sh.evaluate(expression);
      }
docs: Evaluates the specified String expression and makes the first two parameters available inside
  the script bound to variables named 'x' and 'y' respectively, returning the result. For example,
  this code executes without failure:
  <pre>
  assert 10 == Eval.xy(2, 4, ' x * y + 2')
  </pre>
  @param expression the Groovy expression to evaluate
  @return the result of the expression
  @throws CompilationFailedException if expression is not valid Groovy