Bug 306108 - [sfs] CachingContentProvider should not set timestamp within cache update callback
diff --git a/bundles/org.eclipse.core.resources.semantic/src/org/eclipse/core/resources/semantic/spi/CachingContentProvider.java b/bundles/org.eclipse.core.resources.semantic/src/org/eclipse/core/resources/semantic/spi/CachingContentProvider.java
index 26ec78a..7edd452 100644
--- a/bundles/org.eclipse.core.resources.semantic/src/org/eclipse/core/resources/semantic/spi/CachingContentProvider.java
+++ b/bundles/org.eclipse.core.resources.semantic/src/org/eclipse/core/resources/semantic/spi/CachingContentProvider.java
@@ -170,8 +170,6 @@
 		ICacheUpdateCallback callback = new ICacheUpdateCallback() {
 
 			public void cacheUpdated(InputStream newContent, long timestamp, boolean append) throws CoreException {
-				setResourceTimestamp(childStore, timestamp, monitor);
-
 				onCacheUpdate(childStore, newContent, timestamp, append, monitor);
 			}
 		};
@@ -405,7 +403,7 @@
 	 * re-synchronize the cache content. In order to keep track of the cache
 	 * state, persistent properties could be used.
 	 * 
-	 * @param semanticFileStore
+	 * @param childStore
 	 *            the semantic file store
 	 * @param newContent
 	 *            the new cache content
@@ -418,9 +416,13 @@
 	 * @param monitor
 	 *            may be null
 	 */
-	public void onCacheUpdate(ISemanticFileStore semanticFileStore, InputStream newContent, long timestamp, boolean append,
+	public void onCacheUpdate(ISemanticFileStore childStore, InputStream newContent, long timestamp, boolean append,
 			IProgressMonitor monitor) {
-		// by default, we do nothing
+		try {
+			setResourceTimestamp(childStore, timestamp, monitor);
+		} catch (CoreException e) {
+			// TODO logging
+		}
 	}
 
 	public long getResourceTimestamp(ISemanticFileStore semanticFileStore, IProgressMonitor monitor) throws CoreException {