code: @SafeVarargs
      public static <T> T[] deleteAll(final T[] a, int... indices) {
          N.checkArgNotNull(a, "a");
  
          if (N.isNullOrEmpty(indices)) {
              return a.clone();
          } else if (indices.length == 1) {
              return delete(a, indices[0]);
          }
  
          indices = indices.clone();
          N.sort(indices);
          return deleteAllBySortedIndices(a, indices);
      }
docs: <p>
  Removes the elements at the specified positions from the specified array.
  All remaining elements are shifted to the left.
  </p>
  
  <p>
  This method returns a new array with the same elements of the input array
  except those at the specified positions. The component type of the
  returned array is always the same as that of the input array.
  </p>
  
  
  <pre>
  N.deleteAll(["a", "b", "c"], 0, 2) = ["b"]
  N.deleteAll(["a", "b", "c"], 1, 2) = ["a"]
  </pre>
  
  @param <T>
  the component type of the array
  @param a
  @param indices
  the positions of the elements to be removed
  @return A new array containing the existing elements except those at the
  specified positions.
  @throws NullPointerException if the specified <code>a</code> is <code>null</code>.