public void draw(Graphics2D g2, float x, float y) {
if (lp == null) {
for (int i = 0, n = 0; i < fComponents.length; i++, n += 2) {
TextLineComponent tlc = fComponents[getComponentLogicalIndex(i)];
tlc.draw(g2, locs[n] + x, locs[n+1] + y);
}
} else {
AffineTransform oldTx = g2.getTransform();
Point2D.Float pt = new Point2D.Float();
for (int i = 0, n = 0; i < fComponents.length; i++, n += 2) {