private void InitializeIgnoredObjectPath(CleanUpImagesCompareTool.PageImageObjectsPaths cmpPageObjects, CleanUpImagesCompareTool.PageImageObjectsPaths
                                          outPageObjects)
 {
     try {
         IList <PdfIndirectReference> cmpIndirects    = cmpPageObjects.GetIndirectReferences();
         IList <PdfIndirectReference> outIndirects    = outPageObjects.GetIndirectReferences();
         PdfIndirectReference         baseCmpIndirect = cmpIndirects[0];
         PdfIndirectReference         baseOutIndirect = outIndirects[0];
         ObjectPath baseObjectPath = new ObjectPath(baseCmpIndirect, baseCmpIndirect);
         for (int i = 1; i < cmpIndirects.Count; i++)
         {
             baseObjectPath.ResetDirectPath(cmpIndirects[i], outIndirects[i]);
             baseCmpIndirect = cmpIndirects[i];
             baseOutIndirect = outIndirects[i];
         }
         foreach (Stack <LocalPathItem> path in cmpPageObjects.GetDirectPaths())
         {
             ignoredObjectPaths.Add(new ObjectPath(baseCmpIndirect, baseOutIndirect, path, baseObjectPath.GetIndirectPath
                                                       ()));
         }
     }
     catch (Exception) {
         throw new ArgumentException("Out and cmp pdf documents have different object structure");
     }
 }