private void comparePDFHolder(PDFHolder pdfHolder1, PDFHolder pdfHolder2)
	{
		for (PDFPageHolder pdfPageHolder1 : pdfHolder1.getPageHolders()) {
			
			// get the same page from the other pdf document
			PDFPageHolder pdfPageHolder2 = pdfHolder2.getPageHolder(pdfPageHolder1.getPageNumber());
			if (pdfPageHolder2 == null) {
			    diff.log(pdfInfoHolder.getFilename()+": page " + pdfPageHolder1.getPageNumber() + " missing in other pdf");
			    return;
			}
			
			// run thru all structure elements for this page
			for (PDFEntryHolder pdfEntryHolder1 : pdfPageHolder1.getElements()) {
				
				// try to find the same element at the same page of the other pdf 
				PDFEntryHolder pdfEntryHolder2 = findEntryHolder(pdfEntryHolder1, pdfPageHolder2);
				
				// no valid element found, assume difference
				if(pdfEntryHolder2 == null)
				{
					pdfEntryHolder1.setDifferent(true);
					DecimalFormat df = new DecimalFormat( "####.###" );
					if(pdfEntryHolder1 instanceof PDFTextHolder)
					{
						PDFTextHolder th = (PDFTextHolder)pdfEntryHolder1;
						diff.log(pdfInfoHolder.getFilename()+": Could not find smiliar text \""+th.getText()+"\" on page " 
								+ (pdfPageHolder1.getPageNumber()+1) + " at position " + df.format(th.getX())+" | " + df.format(th.getY()) 
								+ " with size " + df.format(th.getWidth()) + " width and " + df.format(th.getHeight()) + " height");
					}
					else
					{
						diff.log(pdfInfoHolder.getFilename()+": Could not find smiliar image on page " + (pdfPageHolder1.getPageNumber()+1) 
								+ " at position " + df.format(pdfEntryHolder1.getX())+" | " + df.format(pdfEntryHolder1.getY()) + " with size " 
								+ df.format(pdfEntryHolder1.getWidth()) + " width and " + df.format(pdfEntryHolder1.getHeight()) + " height");
					}
				}
			}
		}
	}