public void addDataPoint(Double x)
  {
    //System.out.println("Added value: " + x.doubleValue());
    if (values.size() == 100) 
    {
      values.remove(0);
      minGeneration++;
      maxGeneration++;
    }
    values.add(x);
    if (values.size() == 1)
    {
      maximumValue = x.doubleValue();
      minimumValue = x.doubleValue();
    }
    minimumValue = values.get(0);
    maximumValue = values.get(0);
    for (int i=0;i<values.size();i++)
    {
      if (values.get(i).doubleValue() > maximumValue) maximumValue = values.get(i).doubleValue();
      if (values.get(i).doubleValue() < minimumValue) minimumValue = values.get(i).doubleValue();
    }
    repaint();
  }