code: public static Boolean and(final Boolean... array) {
          if (array == null) {
              throw new IllegalArgumentException("The Array must not be null");
          }
          if (array.length == 0) {
              throw new IllegalArgumentException("Array is empty");
          }
          try {
              final boolean[] primitive = ArrayUtils.toPrimitive(array);
              return and(primitive) ? Boolean.TRUE : Boolean.FALSE;
          } catch (final NullPointerException ex) {
              throw new IllegalArgumentException("The array must not contain any null elements");
          }
      }
docs: <p>Performs an and on an array of Booleans.</p>
  
  <pre>
  BooleanUtils.and(Boolean.TRUE, Boolean.TRUE)                 = Boolean.TRUE
  BooleanUtils.and(Boolean.FALSE, Boolean.FALSE)               = Boolean.FALSE
  BooleanUtils.and(Boolean.TRUE, Boolean.FALSE)                = Boolean.FALSE
  BooleanUtils.and(Boolean.TRUE, Boolean.TRUE, Boolean.TRUE)   = Boolean.TRUE
  BooleanUtils.and(Boolean.FALSE, Boolean.FALSE, Boolean.TRUE) = Boolean.FALSE
  BooleanUtils.and(Boolean.TRUE, Boolean.FALSE, Boolean.TRUE)  = Boolean.FALSE
  </pre>
  
  @param array  an array of {@code Boolean}s
  @return {@code true} if the and is successful.
  @throws IllegalArgumentException if {@code array} is {@code null}
  @throws IllegalArgumentException if {@code array} is empty.
  @throws IllegalArgumentException if {@code array} contains a {@code null}
  @since 3.0.1