Fix regression in CallinMappingTest.testExistenceOfMappings and a typo
in CalloutMapping.<init>
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceType.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceType.java
index cfda052..febb140 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceType.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceType.java
@@ -420,13 +420,13 @@
 			switch (kind) {
 			case IOTJavaElement.CALLIN_MAPPING:
 				MethodData[] baseMethodArray = baseMethods.toArray(new MethodData[baseMethods.size()]);
-				return new CallinMapping(0, 0, 0, 0, ottype, corrJavaMethod, bindingName.toCharArray(), callinKind, roleMethod, baseMethodArray, hasSign);
+				return new CallinMapping(0, 0, 0, 0, ottype, corrJavaMethod, bindingName.toCharArray(), callinKind, roleMethod, baseMethodArray, hasSign, false/*addAsChild*/);
 			case IOTJavaElement.CALLOUT_MAPPING:
 				// for callouts it is legal to not have a base method (due to some resolving problem)
-				return new CalloutMapping(0, 0, 0, 0, ottype, corrJavaMethod, roleMethod, (baseMethods.isEmpty() ? null : baseMethods.get(0)), hasSign, isOverride, 0/*declaredModifiers*/);
+				return new CalloutMapping(0, 0, 0, 0, ottype, corrJavaMethod, roleMethod, (baseMethods.isEmpty() ? null : baseMethods.get(0)), hasSign, isOverride, 0/*declaredModifiers*/, false/*addAsChild*/);
 			case IOTJavaElement.CALLOUT_TO_FIELD_MAPPING:
 				IFieldAccessSpec baseField = CalloutToFieldMapping.createFieldData(memento, isSetter);
-				return new CalloutToFieldMapping(0, 0, 0, 0, ottype, corrJavaMethod, roleMethod, baseField, hasSign, isOverride);
+				return new CalloutToFieldMapping(0, 0, 0, 0, ottype, corrJavaMethod, roleMethod, baseField, hasSign, isOverride, false/*addAsChild*/);
 			default:
 				throw new InternalCompilerError("Unexpected mapping kind");
 			}
diff --git a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java
index 9c42945..dfb05ba 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java
@@ -254,7 +254,8 @@
 							   baseMethods == null ? null : baseMethods[0],
 							   info.hasSignature(),
 							   info.isOverride(),
-							   info.getDeclaredModifiers());
+							   info.getDeclaredModifiers(),
+							   true/*addAsChild*/);
 		}
 		
 		return null;
@@ -283,7 +284,8 @@
 					   info.getRoleMethod(),
 					   info.getBaseField(),
 					   info.hasSignature(),
-					   info.isOverride());
+					   info.isOverride(),
+					   true/*addAsChild*/);
         }
         
         return null;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CallinMapping.java b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CallinMapping.java
index 67f4fec..93e242a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CallinMapping.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CallinMapping.java
@@ -71,7 +71,7 @@
 	}
 	
     // for use by sub-class ResolvedCallinMapping 
-    protected CallinMapping(
+    public CallinMapping(
         	int          declarationSourceStart,
 			int          sourceStart,
 			int          sourceEnd,
diff --git a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutMapping.java b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutMapping.java
index f936c8b..8096fac 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutMapping.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutMapping.java
@@ -56,9 +56,10 @@
                           MethodData baseMethodHandle,
                           boolean hasSignature,
                           boolean isOverride,
-                          int     declaredModifiers)
+                          int     declaredModifiers,
+                          boolean addAsChild)
     {
-        this(declarationSourceStart, sourceStart, sourceEnd, declarationSourceEnd, CALLOUT_MAPPING, role, corrJavaMethod, roleMethodHandle, baseMethodHandle, hasSignature, isOverride, declaredModifiers);
+        this(declarationSourceStart, sourceStart, sourceEnd, declarationSourceEnd, CALLOUT_MAPPING, role, corrJavaMethod, roleMethodHandle, baseMethodHandle, hasSignature, isOverride, declaredModifiers, addAsChild);
     }
 
     protected CalloutMapping(
@@ -101,7 +102,7 @@
 
 		this.isOverride = isOverride;
 		this.baseMethodHandle = baseMethodHandle;
-		this.declaredModifiers = declarationSourceEnd;
+		this.declaredModifiers = declaredModifiers;
 	}
 
     public IMethodMapping createStealthMethodMapping()
diff --git a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutToFieldMapping.java b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutToFieldMapping.java
index 9e1a8d3..b9fdd1c 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutToFieldMapping.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/CalloutToFieldMapping.java
@@ -58,9 +58,10 @@
 			MethodData roleMethodHandle,
             IFieldAccessSpec baseFieldHandle,
             boolean hasSignature,
-            boolean isOverride)
+            boolean isOverride,
+            boolean addAsChild)
 	{
-		this(declarationSourceStart, sourceStart, sourceEnd, declarationSourceEnd, CALLOUT_TO_FIELD_MAPPING, role, correspondingJavaElem, roleMethodHandle, baseFieldHandle, hasSignature, isOverride, true);
+		this(declarationSourceStart, sourceStart, sourceEnd, declarationSourceEnd, CALLOUT_TO_FIELD_MAPPING, role, correspondingJavaElem, roleMethodHandle, baseFieldHandle, hasSignature, isOverride, addAsChild);
 	}
 
 	protected CalloutToFieldMapping(