protected long[] getFetchStep( long startTime, long endTime, long resolution ) throws RrdException, IOException
	{
		if ( rrd == null )
			openRrd();

		long maxStep = Long.MIN_VALUE, minStep = Long.MAX_VALUE, step = 0;

		for ( int i = 0; i < datasources.length; i++ )
		{
			if ( datasources[i].size() > 0 )
			{
				FetchRequest request 	= rrd.createFetchRequest( cfNames[i], startTime, endTime, resolution );
				step					= rrd.findMatchingArchive( request ).getArcStep();

				if ( step < minStep )
					minStep = step;
				if ( step > maxStep )
					maxStep = step;
			}
		}

		return new long[] { minStep, maxStep };
	}