/**
   * Displays contents of a player's visualization buffer to the player
   *
   * @param player
   * @param minusOverlap
   */
  public void displayVisualization(final Player player, boolean minusOverlap, int seconds) {
    Visualization vis = visualizations.get(player.getName());

    if (vis != null) {
      if (minusOverlap) {
        for (Iterator<BlockEntry> iter = vis.getBlocks().iterator(); iter.hasNext(); ) {
          BlockEntry bd = iter.next();
          Location loc = bd.getLocation();

          for (Field field : vis.getFields()) {
            if (field.envelops(loc)) {
              iter.remove();
              break;
            }
          }
        }

        Visualize visualize = new Visualize(vis.getBlocks(), player, false, false, seconds);
      } else {
        Visualize visualize = new Visualize(vis.getBlocks(), player, false, false, seconds);
      }
    }
  }