protected void fragment(String source, Image image, float ox, float oy) {
float hw = image.width()/2f, hh = image.height()/2f;
Image ul = image.subImage(0, 0, hw, hh);
Image ur = image.subImage(hw, 0, hw, hh);
Image ll = image.subImage(0, hh, hw, hh);
Image lr = image.subImage(hw, hh, hw, hh);
Image ctr = image.subImage(hw/2, hh/2, hw, hh);
float dx = hw + 10, dy = hh + 10;
GroupLayer group = graphics().createGroupLayer();
group.addAt(graphics().createImageLayer(ul), 0, 0);
group.addAt(graphics().createImageLayer(ur), dx, 0);
group.addAt(graphics().createImageLayer(ll), 0, dy);
group.addAt(graphics().createImageLayer(lr), dx, dy);
group.addAt(graphics().createImageLayer(ctr), dx/2, 2*dy);
float xoff = image.width() + 20;
group.addAt(scaleLayer(graphics().createImageLayer(ul), 2), xoff, 0);
group.addAt(scaleLayer(graphics().createImageLayer(ur), 2), xoff+2*dx, 0);
group.addAt(scaleLayer(graphics().createImageLayer(ll), 2), xoff, 2*dy);
group.addAt(scaleLayer(graphics().createImageLayer(lr), 2), xoff+2*dx, 2*dy);
graphics().rootLayer().addAt(group, ox, oy);
addDescrip(source + " split into subimages, and scaled", ox, oy + image.height()*2 + 25,
3*image.width()+40);
}