That code looks kosher to me. It may be that you're running into a bug in Acrobat's imaging model. If I'm following things correctly, your output will look something like:
---
/foo 8 Tf %%cb.setFontAndSize()
q %%cb.saveState()
<stuff>
Q %%cb.restoreState();
BT %%cb.beginText();
<more stuff>
ET %%cb.endText();
---
That "Tf" (set the font and size) operator is really only valid inside a beginText/endText block. Given your later comments, it sounds like this will work and be valid:
public void outerMethod(PdfContentByte cb, BaseFont font) {
cb.beginText();
cb.setFontAndSize(font.getBaseFont(), 8);
cb.endText();
//the rest is left alone
...
}