code: protected void update (Map<Integer, SceneBlock> blocks)
      {
          boolean recover = false;
  
          // link up to our neighbors
          for (int ii = 0; ii < DX.length; ii++) {
              SceneBlock neigh = blocks.get(neighborKey(DX[ii], DY[ii]));
              if (neigh != _neighbors[ii]) {
                  _neighbors[ii] = neigh;
                  // if we're linking up to a neighbor for the first time;
                  // we need to recalculate our coverage
                  recover = recover || (neigh != null);
  //                 Log.info(this + " was introduced to " + neigh + ".");
              }
          }
  
          // if we need to regenerate the set of tiles covered by our
          // objects, do so
          if (recover) {
              for (SceneObject _object : _objects) {
                  setCovered(blocks, _object);
              }
          }
      }
docs: Links this block to its neighbors; informs neighboring blocks of
  object coverage.