docs: def __visit_index_model_instance(self, models, p, k, v):
          """
              Called during model research on merged data
          """
              # print 'model visit {} on {}'.format(model, v)
          cp = p + (k,)
          for model in models:
              try:
                  if model.validator(v):
                      if cp in self.path_index:
                          # if self.path_index[cp].val != v:
                          #     raise ValueError('unexpected value change at path_index[{}]'.format(cp))
                          self.path_index[cp].add_model(model, v)
                      else:
                          # The object should already be in the index but don't complain for now.
                          self.path_index[cp] = PathCacheObject(val=v, path=cp, regs=[model])
              except:
                  pass