@Contract(pure = true)
  public static @NotNull CharSequence newBombedCharSequence(@NotNull CharSequence sequence, long delayMillis) {
    long myTime = System.currentTimeMillis() + delayMillis;
    return new BombedCharSequence(sequence) {
      @Override
      protected void checkCanceled() {
        long l = System.currentTimeMillis();
        if (l >= myTime) {
          throw new ProcessCanceledException();
        }
      }
    };
  }
@Contract(pure = true)
  public static @NotNull CharSequence newBombedCharSequence(@NotNull CharSequence sequence, long delayMillis)