@Contract(pure=true)
  public static boolean startsWith(byte @NotNull [] array, int start, byte @NotNull [] subArray) {
    int length = subArray.length;
    if (array.length - start < length) {
      return false;
    }

    for (int i = 0; i < length; i++) {
      if (array[start + i] != subArray[i]) {
        return false;
      }
    }

    return true;
  }
@Contract(pure=true)
  public static boolean startsWith(byte @NotNull [] array, int start, byte @NotNull [] subArray)