@NotNull
  private Object[] createArrayMap(Object @NotNull [] elements, @NotNull UnaryOperator<? super E> operator) {
    Object[] newElements = ArrayUtil.newObjectArray(elements.length);
    for (int i = 0; i < elements.length; i++) {
      Object element = elements[i];
      //noinspection unchecked
      newElements[i] = operator.apply((E)element);
    }
    return newElements;
  }
@NotNull
  private Object[] createArrayMap(Object @NotNull [] elements, @NotNull UnaryOperator<? super E> operator)