private void shift(int delta)
	{
		double[] old = new double[values.length];
		System.arraycopy(values, 0, old, 0, values.length);
		
		int oldIndex = delta;
		for (int i = 0; i < values.length; i ++)
		{
			if (oldIndex >= 0 && oldIndex < values.length) {
				values[i] = old[oldIndex];
			}
			
			oldIndex ++;
		}
		if (delta < 0) {
			for (int i = Math.abs(delta) - 1; i >= 0; i --) {
				values[i] = Math.random() * randomFactor + values[i + 1] * (1 - randomFactor);
			}
		} else {
			for (int i = values.length - delta; i < values.length; i ++) {
				values[i] = Math.random() * randomFactor + values[i - 1] * (1 - randomFactor);
			}
		}
	}