protected void updateDrillYard() {
    if (drillYard == null || drillYard.destroyed()) {
      final DrillYard newYard = new DrillYard(this) ;
      final Tile o = origin() ;
      final int S = this.size ;
      
      for (int n : TileConstants.N_ADJACENT) {
        n = (n + 2) % 8 ;
        newYard.setPosition(o.x + (N_X[n] * S), o.y + (N_Y[n] * S), world) ;
        if (newYard.canPlace()) {
          newYard.doPlace(newYard.origin(), null) ;
          drillYard = newYard ;
          break ;
        }
      }
    }
  }