code: public static <PS, SEG, S> UndoManager<List<PlainTextChange>> plainTextUndoManager(
              GenericStyledArea<PS, SEG, S> area, Duration preventMergeDelay) {
          return plainTextUndoManager(area, UndoManagerFactory.unlimitedHistoryFactory(), preventMergeDelay);
      }
docs: Returns an UndoManager that can undo/redo {@link PlainTextChange}s. New changes
  emitted from the stream will not be merged with the previous change
  after {@code preventMergeDelay}