ui/src/main/java/ucar/nc2/ui/coverage2/CoverageViewer.java
private synchronized void redrawLater() {
    //redrawComplete |= complete;
    boolean already = redrawTimer.isRunning();
    if (debugThread) System.out.println("redrawLater isRunning= " + already);
    if (already)
      redrawTimer.restart();
    else
      redrawTimer.start();
  }
private synchronized void redrawLater() {
    //redrawComplete |= complete;
    boolean already = redrawTimer.isRunning();
    if (debugThread) System.out.println("redrawLater isRunning= " + already);
    if (already)
      redrawTimer.restart();
    else
      redrawTimer.start();
  }
/* private void drawV(boolean immediate) {
if (!startOK) return;
ScaledPanel drawArea = vertPanel.getDrawArea();
Graphics2D gV = drawArea.getBufferedImageGraphics();
if (gV == null)
return;

long startTime = System.currentTimeMillis();

gV.setBackground(Color.white);
gV.fill(gV.getClipBounds());
renderGrid.renderVertView(gV, atI);

if (Debug.isSet("timing/GridDrawVert")) {
long tookTime = System.currentTimeMillis() - startTime;
System.out.println("timing.GridDrawVert: " + tookTime*.001 + " seconds");
}
gV.dispose();

copy buffer to the screen
if (immediate)
drawArea.drawNow();
else
drawArea.repaint();
}