private static bool GetMatchingShapeDetails(PowerPointSlide currentSlide, PowerPointSlide nextSlide) { currentSlideShapes = new PowerPoint.Shape[currentSlide.Shapes.Count]; nextSlideShapes = new PowerPoint.Shape[currentSlide.Shapes.Count]; matchingShapeIDs = new int[currentSlide.Shapes.Count]; int counter = 0; PowerPoint.Shape tempMatchingShape = null; bool flag = false; foreach (PowerPoint.Shape sh in currentSlide.Shapes) { tempMatchingShape = nextSlide.GetShapeWithSameIDAndName(sh); if (tempMatchingShape == null) tempMatchingShape = nextSlide.GetShapeWithSameName(sh); if (tempMatchingShape != null) { currentSlideShapes[counter] = sh; nextSlideShapes[counter] = tempMatchingShape; matchingShapeIDs[counter] = sh.Id; counter++; flag = true; } } return flag; }