pictureBackdrop(gap, 500 - 200 - gap, cb);
pictureBackdrop(200 + 2 * gap, 500 - 200 - gap, cb);
pictureCircles(gap, 500, cb);
cb.saveState();
PdfGState gs1 = new PdfGState();
gs1.setFillOpacity(0.5f);
cb.setGState(gs1);
pictureCircles(200 + 2 * gap, 500, cb);
cb.restoreState();
PdfTemplate tp = cb.createTemplate(200, 200);
cb.saveState();
pictureCircles(0, 0, tp);
PdfTransparencyGroup group = new PdfTransparencyGroup();
tp.setGroup(group);
tp.sanityCheck();
cb.setGState(gs1);
cb.addTemplate(tp, gap, 500 - 200 - gap);
cb.restoreState();
tp = cb.createTemplate(200, 200);
cb.saveState();
PdfGState gs2 = new PdfGState();
gs2.setFillOpacity(0.5f);
gs2.setBlendMode(PdfGState.BM_SOFTLIGHT);
tp.setGState(gs2);
tp.sanityCheck();
pictureCircles(0, 0, tp);
tp.setGroup(group);
cb.addTemplate(tp, 200 + 2 * gap, 500 - 200 - gap);