@Override
      public boolean fun(Field f) {
        try {
          return f.get(obj) == delegateTo;
        }
        catch (Throwable ignored) {
          return false;
        }
      }
@Override
      public boolean fun(Field f)