Small error in point position, also rendering-order question

I've discovered that points of a plot are not being plotted centred around
the correct position.  Instead they're plotted with the lower left corner at
that position.  I'm using a DisplayImplJ2D  to show a scatterplot of
(index->(x,y,z,label)).  You can easily verify this by changing the point
size of a plot.  I'm under pressure right now with some other stuff, so I'm
hoping someone else who knows the VisAD code better could fix it more
easily.

Also, I'm plotting both points and labels.  Is it really necessary to force
only one renderer to be employed?  As it is it seems I have to create a
completely separate set of types (index->(textX,textY,textLabel)) to display
my text.  I'm sharing the same data values for the separate data reference,
but I would have thought it common to do something like this, and it seems a
shame to be going through all the coordinate transformations multiple times.
But that bothers me less than the fact that my app has to manage all the
separate maps and controls and axes for such a simple requirement.

I'm also concerned about the order that my various data references are
rendered.  Ugo's tutorial example for showing isocontours over an image
works correctly, adding the data_ref first and then the iso_data.  But I'm
finding that in order to have my text on top of my points I'm having to add
the data reference for my text first, and then the data reference for my
points.  So that must mean that the rendering order is actually defined by
some other means that I'm unaware of.  How _is_ the rendering order defined?

And one last thing.  The text control allows me to control justification,
but I'd also like to offset the text slightly by a consistent amount and I
don't see an easy way to do so.  The need for this is clear if I'm drawing
both points and text and I don't want them to overlap.

Ian Graham