public void stopAction() {
   collecting = false;
   jsonDataCollector.getListeners().stream().forEach(RecordListener::stop);
   toggleButtons();
   jsonDataCollector.getListeners().stream().forEach(s -> s.dump("Data"));
   startButton.setDefaultButton(true);
   stopButton.setDefaultButton(false);
 }
 public void startAction() {
   collecting = true;
   jsonDataCollector.getListeners().stream().forEach(RecordListener::start);
   startButton.setDefaultButton(false);
   stopButton.setDefaultButton(true);
   toggleButtons();
   // todo must be killed by stop action
   new Thread(
           () -> {
             while (collecting) {
               hub.run(100);
             }
             System.out.println("collecting = " + collecting);
           })
       .start();
 }