def METHOD_NAME(self, val, label, sample_weight):
    if val == self.cut_point:
        self.class_count_left[label] += sample_weight
    elif val < self.cut_point:
        self.class_count_left[label] += sample_weight
        if self._left is None:
            self._left = ExhaustiveNode(val, label, sample_weight)
        else:
            self._left.METHOD_NAME(val, label, sample_weight)
    else:
        self.class_count_right[label] += sample_weight
        if self._right is None:
            self._right = ExhaustiveNode(val, label, sample_weight)
        else:
            self._right.METHOD_NAME(val, label, sample_weight)