public void setBounds2D(Rectangle2D bounds) {
   beginUpdate();
   try {
     // set anchors (only 2 significants anchors need to be adjusted)
     topLeft.setPosition(bounds.getMinX(), bounds.getMinY());
     bottomRight.setPosition(bounds.getMaxX(), bounds.getMaxY());
   } finally {
     endUpdate();
   }
 }