JavaFX 8: Wie füge ich einem Listener eine Zeitverzögerung hinzu?

Ich arbeite gerade an einer JavaFX 8-App, in der ich eine Tabellenansicht und einige Textfelder darüber habe, mit denen bestimmte Spalten in der Tabellenansicht gesucht / gefiltert werden können. Ich habe den textFields einen Listener hinzugefügt, um die Filterung automatisch auszulösen, wenn eine Änderung festgestellt wird. Ich habe den folgenden Code verwendet, um dies zu tun.

textField_filterAddress.textProperty().addListener((observable, oldValue, newValue) -> {
            doSomething(); // in this case, filter table data and refresh tableView afterwards
        });

Meine Frage ist nun: Was ist der einfachste Weg, eine Art Zeitverzögerung zu integrieren, bevor die Filterung ausgelöst wird? Ich würde gerne ein paar Millisekunden warten, da jedes Mal, wenn der Benutzer filtert, eine neue Datenbankabfrage ausgeführt wird und ich denke nicht, dass dies für jedes einzelne Zeichen erforderlich ist, das der Benutzer eingibt. Ich würde lieber warten, bis er / sie beendete seine Eingabe. Gibt es eine Art von Merkmal, das bereits in die gesamte Hörsache eingebaut ist? Oder muss ich meine eigene Lösung implementieren? Wenn das so ist, wie? Ich dachte über eine Art Nebenläufigkeitslösung nach,so der Rest der Software friert während der Wartezeit nicht ein. Aber ich dachte, ich würde hier fragen, ob es eine einfachere Lösung gibt, bevor ich zu viel über meinen eigenen Weg nachdenke ...

Vielen Dank im Voraus!