code: public T evaluate(Object target, Map<String, Object> variables) {
          try {
              if (variables == null) {
                  return (T) Ognl.getValue(getCompiledExpression(), target);
              }
              else {
                  Ognl.addDefaultContext(target, variables);
                  return (T) Ognl.getValue(getCompiledExpression(), variables,
                                           target);
              }
          }
          catch (OgnlException e) {
              throw new RuntimeException(e);
          }
      }
docs: {@inheritDoc}