private void performLanding(World world, Box2D site) {
    if (! (dropPoint instanceof Venue)) {
      //
      //  Clear any detritus around the perimeter, Claim tiles in the middle as
      //  owned, and evacuate any occupants-
      for (Tile t : world.tilesIn(site, false)) {
        if (t.owner() != null) t.owner().setAsDestroyed() ;
      }
      site = new Box2D().setTo(site).expandBy(-1) ;
      for (Tile t : world.tilesIn(site, false)) t.setOwner(this) ;
      for (Tile t : world.tilesIn(site, false)) {
        for (Mobile m : t.inside()) if (m != this) {
          final Tile e = Spacing.nearestOpenTile(m.origin(), m) ;
          m.setPosition(e.x, e.y, world) ;
        }
      }
      final int size = 2 * (int) Math.ceil(radius()) ;
      final int EC[] = Spacing.entranceCoords(size, size, entranceFace) ;
      final Tile o = world.tileAt(site.xpos() + 0.5f, site.ypos() + 0.5f) ;
      final Tile exit = world.tileAt(o.x + EC[0], o.y + EC[1]) ;
      this.dropPoint = exit ;
    }
    //
    //  Offload cargo and passengers-
    offloadPassengers() ;
  }