code: public void doIt() {
  
          Collections.shuffle(this.nodes);
  
          final List<DoubleProperty> opacities = new ArrayList<>();
  
          // DoubleProperty dp;
          int idx = 0;
  
          final int nodesCount = this.nodes.size();
          final int groupCount = nodesCount / 2;
  
          for (int i = 0; i < groupCount; i++) {
              // dp = new SimpleDoubleProperty(1.0);
              for (int j = idx; j < 20 && j < this.nodes.size(); j++) {
                  // nodes.get(j).opacityProperty().bind(dp);
                  // nodes.get(j).scaleXProperty().bind(dp);
                  opacities.add(/* dp */this.nodes.get(j).opacityProperty());
                  idx++;
  
              }
              // opacities.add(/* dp */nodes.get(j).opacityProperty());
          }
  
          final List<KeyFrame> keyFrames = new ArrayList<>();
  
          // List<KeyValue> keyValues;
  
          long d = 100;
          // keyValues = new ArrayList<>();
          for (int i = 0; i < opacities.size(); i++) {
  
              // keyFrames.add(new KeyFrame(Duration.millis(d), new EventHandler<ActionEvent>() {
              //
              // @Override
              // public void handle(final ActionEvent arg0) {
              // // System.out.println(arg0.toString());
              // // nothing to do
              // }
              // }, new KeyValue(opacities.get(i), 1.0/* , Interpolator.EASE_IN */)));
  
              d += 1000;
              // }
          }
  
          this.timeline = TimelineBuilder.create()
                                         .keyFrames(keyFrames)
                                         .build();
  
      }
docs: Do it.