diff --git a/doc/org.eclipse.cdt.doc.isv/guide/dsf/intro/dsf_programming_intro.html b/doc/org.eclipse.cdt.doc.isv/guide/dsf/intro/dsf_programming_intro.html
index a2580481ce3..047ccf94437 100644
--- a/doc/org.eclipse.cdt.doc.isv/guide/dsf/intro/dsf_programming_intro.html
+++ b/doc/org.eclipse.cdt.doc.isv/guide/dsf/intro/dsf_programming_intro.html
@@ -159,6 +159,8 @@ exercises preprocessor.
sources generated by the preprocessor.
Build the plugin again to compile the generated sources.
+ Turn off the preprocessor so that edits made as part of the tutorial are not overwritten. Open Project
+Properties, choose Builder and uncheck "PreProcessor".
Launch the examples
- Examples in data org.eclipse.cdt.examples.dsf.requestmonitor
diff --git a/dsf/org.eclipse.cdt.examples.dsf/src_preprocess/org/eclipse/cdt/examples/dsf/dataviewer/DataGeneratorWithExecutor.java b/dsf/org.eclipse.cdt.examples.dsf/src_preprocess/org/eclipse/cdt/examples/dsf/dataviewer/DataGeneratorWithExecutor.java
index d1ee0b542ed..5022746f917 100644
--- a/dsf/org.eclipse.cdt.examples.dsf/src_preprocess/org/eclipse/cdt/examples/dsf/dataviewer/DataGeneratorWithExecutor.java
+++ b/dsf/org.eclipse.cdt.examples.dsf/src_preprocess/org/eclipse/cdt/examples/dsf/dataviewer/DataGeneratorWithExecutor.java
@@ -60,7 +60,7 @@ public class DataGeneratorWithExecutor implements IDataGenerator {
// Request objects are used to serialize the interface calls into objects
// which can then be pushed into a queue.
//#ifdef exercises
- // TODO Ecercise 4 - Add an annotationindicating allowed concurrency access
+ // TODO Exercise 4 - Add an annotationindicating allowed concurrency access
// Hint: Request and its subclasses have all their fields declared as final.
//#else
//# @Immutable
@@ -305,7 +305,13 @@ public class DataGeneratorWithExecutor implements IDataGenerator {
},
PROCESSING_DELAY, TimeUnit.MILLISECONDS);
}
-
+
+ //#ifdef exercises
+ // TODO Exercise 4 - Add an annotation (ThreadSafe/ConfinedToDsfExecutor)
+ // indicating allowed thread access to this class/method/member
+ //#else
+//# @ConfinedToDsfExecutor("fExecutor")
+ //#endif
private void doServiceQueue() {
//#ifdef exercises
// TODO Exercise 3 - Add logic to discard cancelled requests from queue.