protected static short @NotNull [] insert(short @NotNull [] array,
                                            short @NotNull [] insertArray, int startIndex, int insertLength, int mySegmentCount) {
    short[] newArray = reallocateArray(array, mySegmentCount + insertLength);
    if (startIndex < mySegmentCount) {
      System.arraycopy(newArray, startIndex, newArray, startIndex + insertLength, mySegmentCount - startIndex);
    }
    System.arraycopy(insertArray, 0, newArray, startIndex, insertLength);
    return newArray;
  }
protected static short @NotNull [] insert(short @NotNull [] array,
                                            short @NotNull [] insertArray, int startIndex, int insertLength, int mySegmentCount)