private Button addButton(final ListView<String> listView) {
        final Button button = new Button("Add Item", FontAwesome.PLUS.view());
        
        button.setOnAction(e -> {
            final int newIndex = listView.getItems().size();

            final Set<String> set = new HashSet<>(strings);
            final AtomicInteger i = new AtomicInteger(0);
            while (!set.add(DEFAULT_FIELD + i.incrementAndGet())) {}

            listView.getItems().add(DEFAULT_FIELD + i.get());
            listView.scrollTo(newIndex);
            listView.getSelectionModel().select(newIndex);
            
            // There is a strange behavior in JavaFX if you try to start editing
            // a field on the same animation frame as another field lost focus.
            // Therefore, we wait one animation cycle before setting the field
            // into the editing state
            runLater(() -> listView.edit(newIndex));
        });
        
        return button;
    }
Removes any empty substrings and makes sure the entire string is either
{@code null} or non-empty.

@return  the formatted string
plugin-parent/enum-generator/src/main/java/com/speedment/plugins/enums/internal/ui/AddRemoveStringItem.java