Keep user zoom when updateing JFreeChart
===

I am using `JFreeChart 1.0.14` to plot a `XYSeries`. I do have access to all the elements (`ChartPanel`, `JFreeChart`, `XYSeriesCollection`, `XYSeries`). From time to time there is new data to plot, so I update my series (for simplicity let's assume there is just one series):

    SwingUtilities.invokeLater(new Runnable() {
    	@Override
    	public void run() {
    		XYSeries xyData = new XYSeries("Trace");
    		for (int i = 0; i < n; i++)
    			xyData.add(data[0][i], data[1][i], false);
    		
    		collection.removeAllSeries();
    		collection.addSeries(xyData);
    
    		chart.getXYPlot().setRangeAxis(createNewAxis());
    	}
    });

This works all great. But I have one problem. The user can zoom by dragging in the plot. This zoom gets reset every time, the data is updated. Which makes sense, because I create new axes. How can I preserve the user zoom state? As the user can also choose autorange/range, I don't want to do some sort of hack with those (`Axis#setRange/setAutoRange`). I found something about `ChartPanel#getScaleX()`. But this is always `1.0` at the start of the above mentioned `invokeLater`. Also I can not find any `ChartPanel.setScaleX`. 

Am I doing something wrong or is there another way of preserving the user zoom state without changing the range/autorange behaviour of the axis?

BTW: I have to recreate the axes, because they can also switch between logscale and linscale.