code: public void islandPopulationUpdate(int islandIndex,
                                         final PopulationData<? extends Object> populationData)
      {
          islandPopulationSize.compareAndSet(-1, populationData.getPopulationSize());
          SwingUtilities.invokeLater(new Runnable()
          {
              public void run()
              {
                  // Only update the label if the time has advanced.  Sometimes, due to threading
                  // variations, later updates have shorter elapsed times.
                  if (populationData.getElapsedTime() > epochTime)
                  {
                      epochTime = populationData.getElapsedTime();
                      timeLabel.setText(formatTime(elapsedTime + epochTime));
                  }
              }
          });
      }
docs: {@inheritDoc}