Adapting to data source changes