protected void processClick(MouseEvent e) {
    if (e.getButton() != MouseEvent.BUTTON1) {
      popcoord = imagePanel.getCoord(e.getPoint());
    }
    if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() > 1) {
      p("GeneralDensityPanel.processClick");
      WellSelection sel = imagePanel.getWellSelection();
      if (sel == null && imagePanel.getWellCoordinate() == null) {
        p("GeneralDensityPanel.processClick. Got no well selection or coordinate");
        return;
      }
      p(
          "Got selection from image: "
              + ", sel is: "
              + sel
              + ", area offset="
              + imagePanel.getAreaOffsetX()
              + "/"
              + imagePanel.getAreaOffsetY());
      if (sel != null) {
        ArrayList<WellCoordinate> coords = getCoords(sel);
        sel.setAllWells(coords);
        p("publishing SELECTION");
        publishSelection(sel);
      }

      WellCoordinate coord = imagePanel.getWellCoordinate();

      if (wellcontext == null && expcontext != null) {
        wellcontext = expcontext.getWellContext();
      }
      if (coord != null && wellcontext != null) {
        wellcontext.setCoordinate(coord);
        wellcontext.loadMaskData(coord);
        p("publishing relative coord: " + coord);
        publishCoord(coord);
      }
    }
    return;
  }