private void handleGestureData(Reader reader) throws Exception {
    GestureData gestureData = new Gson().fromJson(reader, GestureData.class);

    if (gestureData.getName() == null) {
      classify(gestureData);
    } else {
      train(gestureData);
    }
  }
 private void train(GestureData gestureData) throws Exception {
   Classifier.getInstance()
       .addGesture(gestureData.getName(), gestureData.getCommand(), gestureData.getValues());
 }
 private void classify(GestureData gestureData) throws Exception {
   TimeSeries timeSeries = Utils.dataToTimeSeries(gestureData.getValues());
   Gesture gesture = Classifier.getInstance().knn(1, timeSeries);
   System.out.println(gesture);
   Keyboard.getInstance().type(gesture.getCommand());
 }