code: public JsHandlerRegistration addGeometryEditShapeChangedHandler(final GeometryEditShapeChangedHandler handler) {
  		org.geomajas.plugin.editing.client.event.GeometryEditShapeChangedHandler h;
  		h = new org.geomajas.plugin.editing.client.event.GeometryEditShapeChangedHandler() {
  
  			public void onGeometryShapeChanged(GeometryEditShapeChangedEvent event) {
  				handler.onShapeChanged(new org.geomajas.plugin.editing.jsapi.client.event.GeometryEditShapeChangedEvent(
  						getGeometry()));
  			}
  		};
  		HandlerRegistration registration = delegate.addGeometryEditShapeChangedHandler(h);
  		return new JsHandlerRegistration(new HandlerRegistration[] { registration });
  	}
docs: Register a {@link GeometryEditShapeChangedHandler} to listen to operation events (moving, inserting, deleting,
  ...) of sub-geometries, vertices and edges but also listens to undo/redo events. Anything the changes the
  geometry shape basically.
  
  @param handler
  The {@link GeometryEditShapeChangedHandler} to add as listener.
  @return The registration of the handler.