docs: public static Object takeAnd(Object arg1, Object arg2) throws NoSuchMethodException {
          if ((arg1 instanceof Boolean) || (arg2 instanceof Boolean)) {
              if ((arg1 instanceof Boolean) && (arg2 instanceof Boolean))
                  return boxToBoolean(((java.lang.Boolean) arg1).booleanValue() & ((java.lang.Boolean) arg2).booleanValue());
              else
                  throw new NoSuchMethodException();
          }
          int code1 = typeCode(arg1);
          int code2 = typeCode(arg2);
          int maxcode = (code1 < code2) ? code2 : code1;
  
          if (maxcode <= INT)
              return boxToInteger(unboxCharOrInt(arg1, code1) & unboxCharOrInt(arg2, code2));
          if (maxcode <= LONG)
              return boxToLong(unboxCharOrLong(arg1, code1) & unboxCharOrLong(arg2, code2));
  
          throw new NoSuchMethodException();
      }