Getting Metadata

Hi.

I have strange case:

This is a code for getting metadata from callsite:
....
      CallSite CS(cast<Value>(I->first));

      SmallVector<std::pair<unsigned int, MDNode*> , 4> MD;
      CS.getInstruction()->getAllMetadata(MD);
      CS.getInstruction()->dump();
      for (SmallVector<std::pair<unsigned int, MDNode*> , 4>::iterator md = MD.begin(); md!=MD.end(); md++) {
        for (unsigned i=0; i<md->second->getNumOperands(); i++) {
          md->second->dump();
....

Metadata from IR:
....
!2488 = metadata !{metadata !"ISPDIL_MTHD_~IndexReader"}
!2489 = metadata !{metadata !"ISPDIL_MTHD_indexExists"}
!2490 = metadata !{metadata !"ISPDIL_MTHD_isLocked"}
!2491 = metadata !{metadata !"ISPDIL_MTHD_unlock"}
!2492 = metadata !{metadata !"ISPDIL_MTHD_IndexWriter"}
!2493 = metadata !{metadata !"ISPDIL_MTHD_optimize"}
!2494 = metadata !{metadata !"ISPDIL_MTHD_~IndexWriter"}
!2495 = metadata !{metadata !"ISPDIL_MTHD_Init"}
!2496 = metadata !{%"class.lucene::document::Document" zeroinitializer}
....

And I have in console:
  invoke void %16(%"class.lucene::index::IndexWriter"* %storemerge)
          to label %if.end24 unwind label %lpad, !tbaa !2490
!{metadata !"ISPDIL_MTHD_~IndexWriter"}

Question:

Why I get data from MD !2494 instead of !2490?

P.S. Before this case I have correctly output for CallSite with metadata !2494

Thanks!
  
Yours sincerely,
Kadysev Mikhail