@Override
 public void translate(double dx, double dy) {
   beginUpdate();
   try {
     // translate (only 2 significants anchors need to be adjusted)
     topLeft.translate(dx, dy);
     bottomRight.translate(dx, dy);
   } finally {
     endUpdate();
   }
 }