textProperty

TextDocument does NOT store the document as a String, it is stored as a list of strings where each item in the list does NOT contain a new line character.

Therefore, getting/setting is a slow operation for long documents.

IMHO, the trade-off, with everything else being much faster is well worth it! e.g. JavaFX's TextArea is painfully slow inserting a single character (for a moderate length document).