code: public static int toInt(final Object number) {
          if (number == null) {
              throw new IllegalArgumentException("Argument shouldn't be null");
          }
  
          if (number instanceof Number) {
              return ((Number) number).intValue();
          }
  
          if (number instanceof Boolean) {
              return ((Boolean) number) ? 1 : 0;
          }
  
          throw new IllegalArgumentException("Can't convert: " + number.getClass().getName() + " to int");
      }
docs: Provides an integer representation of Boolean or Number. If argument is {@link Boolean}, then {@code 1} for {@code true} will be
  returned or @{code 0} otherwise. If argument is {@code Number}, then {@link Number#intValue()} will be called.
  
  @param number the number to convert to an int
  @return integer value
  @throws IllegalArgumentException if the argument is {@code null} or not {@link Boolean} or {@link Number}