code: public @NotNull ObjectArrayAssert hasAllElementsOfType(@NotNull Class<?> type) {
      checkNotNull(type);
      isNotNull();
      for (Object o : actual) {
        if (type.isInstance(o)) {
          continue;
        }
        failIfCustomMessageIsSet();
        fail(format("not all elements in array:<%s> belong to the type:<%s>", actual, type));
      }
      return this;
    }
docs: Verifies that all the elements in the actual {@code Object} array belong to the specified type. Matching includes
  subclasses of the given type.
  <p/>
  For example, consider the following code listing:
  <pre>
  Number[] numbers = { 2, 6, 8 };
  assertThat(numbers).hasAllElementsOfType(Integer.class);
  </pre>
  <p/>
  The assertion {@code hasAllElementsOfType} will be successful.
  
  @param type the expected type.
  @return this assertion object.
  @throws NullPointerException if the given type is {@code null}.
  @throws AssertionError       if the component type of the actual {@code Object} array is not the same as the specified
  one.