docs: def _build_tree(self, side):
          """Build the KDTree for the observed data
          :arg side  if equal to DATA_X, build input data tree.
                       if equal to DATA_Y, build output data tree.
          """
          if not self.nn_ready[side]:
              self.kdtree[side]   = scipy.spatial.cKDTree(self.data[side], compact_nodes=False, balanced_tree=False) # Those options are required with scipy >= 0.16
              self.nn_ready[side] = True