code: public void mayLeavePlace (final PlaceObject plobj)
      {
          // let our delegates know what's up
          applyToDelegates(new DelegateOp(PlaceControllerDelegate.class) {
              @Override
              public void apply (PlaceControllerDelegate delegate) {
                  delegate.mayLeavePlace(plobj);
              }
          });
      }
docs: Called before a request is submitted to the server to leave the current place. As such,
  this method may be called multiple times before {@link #didLeavePlace} is finally called.
  The request to leave may be rejected, but if a place controller needs to flush any
  information to the place manager before it leaves, it should so do here. This is the only
  place in which the controller is guaranteed to be able to communicate to the place manager,
  as by the time {@link #didLeavePlace} is called, the place manager may have already been
  destroyed.