title: JavaFX TreeTableView Remove Item ContextMenu
body: <p>I have the following in my FXMLController:</p>
  
  <pre><code>@FXML
  TreeTableView&lt;FileModel&gt; treeTblViewFiles;
  //...
  @Override
  public void initialize(URL url, ResourceBundle rb) {
  //...
       final ObservableList&lt;Song&gt; data = FXCollections.observableArrayList(
              new Song("Song#1", "/home/pm/songs/song1.mp3","12MB"),
              new Song("Song#2", "/home/pm/songs/song2.mp3","12MB"),
              new Song("Song#3", "/home/pm/songs/song3.mp3","12MB"),
              new Song("Song#4", "/home/pm/songs/song4.mp3","12MB"),
              new Song("Song#5", "/home/pm/songs/song5.mp3","12MB"),
              new Song("Song#6", "/home/pm/songs/song6.mp3","12MB"),
              new Song("Song#7", "/home/pm/songs/song7.mp3","12MB"),
              new Song("Song#8", "/home/pm/songs/song8.mp3","12MB"),
              new Song("Song#9", "/home/pm/songs/song9.mp3","12MB"),
              new Song("Song#10", "/home/pm/songs/song10.mp3","12MB")
      );
       treeTblViewFiles.setRowFactory(new Callback&lt;TreeTableView&lt;FileModel&gt;, TreeTableRow&lt;FileModel&gt;&gt;(){
  
          @Override
          public TreeTableRow&lt;FileModel&gt; call(TreeTableView&lt;FileModel&gt; treeTableView) {
              final TreeTableRow&lt;FileModel&gt; row = new TreeTableRow&lt;&gt;();
              final ContextMenu rowMenu = new ContextMenu();
              MenuItem removeItem = new MenuItem("Remove");
              removeItem.setOnAction(new EventHandler&lt;ActionEvent&gt;(){
  
                  @Override
                  public void handle(ActionEvent t) {                        
                      data.remove(row.getItem());
                      treeTblViewFiles.getSelectionModel().clearSelection();
                      System.out.println("Context Menu -&gt; ActionEvent");
                  }
  
              });
              rowMenu.getItems().add(removeItem);
              row.contextMenuProperty().bind(Bindings.when(Bindings.isNotNull(row.itemProperty()))
              .then(rowMenu)
              .otherwise((ContextMenu)null));
              return row;
          }
  
      });
  //...
  }
  </code></pre>
  
  <p>Song is a class that inherits from FileModel.
  Basically what I do is create my custom row factory where I delete the selected item, but nothing happens. No item is deleted from treeTableView control, although it is removed from the ObservableList.</p>
  
  <p>What am I missing or misunderstood?
  Thanks in advance.</p>