@Contract(value = "null -> null", pure = true)
  public static @Nullable <T> T getFirstElement(T @Nullable [] array) {
    return array != null && array.length > 0 ? array[0] : null;
  }
@Contract(value = "null -> null", pure = true)
  public static @Nullable <T> T getFirstElement(T @Nullable [] array)