docs: public static boolean asBoolean(Object value) {
          if (value instanceof Boolean) {
              return (Boolean) value;
          } else if (value instanceof Double || value instanceof Float) {
              throw new IncompatibleValueException("Unable to convert double value to boolean");
          } else if (value instanceof Number) {
              long l = ((Number) value).longValue();
              if (l == 0L) return false;
              if (l == 1L) return true;
              throw new IncompatibleValueException("Unable to convert number " + l + " to boolean");
          } else if (value instanceof CharSequence) {
              switch (value.toString().toLowerCase()) {
                  case "0":
                  case "n":
                  case "f":
                  case "no":
                  case "false":
                      return false;
                  case "1":
                  case "y":
                  case "t":
                  case "yes":
                  case "true":
                      return true;
                  default:
                      throw new IncompatibleValueException(String.format(
                              "Unable to parse the string \"%s\" to boolean",
                              Strings.escape(value.toString())));
              }
          }
          throw new IncompatibleValueException("Unable to convert " + value.getClass().getSimpleName() + " to a boolean");
      }