code: def __visit_index_path(self, src, p, k, v):
          
          cp = p + (k,)
          self.path_index[cp] = self.indexed_obj_factory(p, k, v, self.path_index.get(cp))
          if cp in self.path_index:
              # if self.path_index[cp].assert_val_equals(v):
              #     raise ValueError('unexpected value change at path_index[{}]'.format(cp))
              self.path_index[cp].add_src(src)
          else:
              self.path_index[cp] = Flobject(val=v, path=cp, srcs=set([src]))
docs: Called during processing of source data