docs: public double[][] getClassDistsResultingFromBinarySplit(double splitValue) {
          DoubleVector lhsDist = new DoubleVector();
          DoubleVector rhsDist = new DoubleVector();
          for (int i = 0; i < this.attValDistPerClass.size(); i++) {
              GaussianEstimator estimator = this.attValDistPerClass.get(i);
              if (estimator != null) {
                  if (splitValue < this.minValueObservedPerClass.getValue(i)) {
                      rhsDist.addToValue(i, estimator.getTotalWeightObserved());
                  } else if (splitValue >= this.maxValueObservedPerClass.getValue(i)) {
                      lhsDist.addToValue(i, estimator.getTotalWeightObserved());
                  } else {
                      double[] weightDist = estimator.estimatedWeight_LessThan_EqualTo_GreaterThan_Value(splitValue);
                      lhsDist.addToValue(i, weightDist[0] + weightDist[1]);
                      rhsDist.addToValue(i, weightDist[2]);
                  }
              }
          }
          return new double[][]{lhsDist.getArrayRef(), rhsDist.getArrayRef()};
      }