public void doUpdateDetailView(boolean now) {
    final Object[] values = myMasterController.getSelectedItems();
    ItemWrapper wrapper = null;
    JLabel label = myMasterController.getPathLabel();
    if (values != null && values.length == 1) {
      wrapper = (ItemWrapper)values[0];
      if (label != null) {
        label.setText(getTitle2Text(wrapper.footerText(), label));
      }
    }
    else {
      if (label != null) {
        label.setText(" ");
      }
    }
    mySelectedItem = wrapper;
    myUpdateAlarm.cancelAllRequests();
    if (now) {
      doUpdateDetailViewWithItem(mySelectedItem);
    }
    else {
      myUpdateAlarm.addRequest(() -> {
        doUpdateDetailViewWithItem(mySelectedItem);
        myUpdateAlarm.cancelAllRequests();
      }, 100);
    }
  }
public void doUpdateDetailView(boolean now)