public void update(
      String region,
      String subtitle,
      WellContext context,
      HashMap<Integer, EnumMap<ResultType, WellFlowDataResult>> flowmap,
      ArrayList<Integer> flows) {
    this.context = context;
    this.region = region;
    this.subtitle = subtitle;
    //  this.file = file;
    this.flowmap = flowmap;
    this.flows = flows;

    this.coord = context.getCoordinate();

    if (chartPanel != null) {
      remove(chartPanel);
    }

    if (context == null) {
      err("NO context!");
      return;
    }

    if (flowmap == null || flowmap.size() < 1) {
      p("No flowmap, no data");
      return;
    }

    dataset = null;
    dataset = createDataset();
    chart = createChart(dataset);

    //   p("Got new dataset: flows=" + flows);
    chartPanel = new ChartPanel(chart, false);

    add("Center", chartPanel);
    //    chart.fireChartChanged();
    dataset.addChangeListener(chart.getPlot());
    //   chart.getPlot().datasetChanged(new DatasetChangeEvent(this, dataset));
    //   chart.setNotify(true);
    chartPanel.chartChanged(new ChartChangeEvent(dataset, chart));
    //  chartPanel.updateUI();
    chartPanel.repaint();
  }