[491264] Use fully qualified class names in appendClassReference
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/JavaStream.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/JavaStream.java
index 14b4006..fd3b9b7 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/JavaStream.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/JavaStream.java
@@ -506,10 +506,12 @@
 	}
 
 	public void appendClassReference(@NonNull CGClass cgClass) {
+		StringBuilder s = new StringBuilder();
 		CGPackage cgPackage = cgClass.getContainingPackage();
-		String packageName = cgPackage.getName();
-		if (packageName != null) {
-			appendClassReference(packageName + "." + cgClass.getName());
+		if ((cgPackage != null) && (cgPackage.getName() != null)) {
+			appendQualifyingPackage(s, cgPackage);
+			s.append(cgClass.getName());
+			appendClassReference(s.toString());
 			List<CGClass> cgTemplateParameters = cgClass.getTemplateParameters();
 			if (cgTemplateParameters.size() > 0) {
 				append("<");
@@ -808,6 +810,18 @@
 		}
 	}
 
+	private void appendQualifyingPackage(@NonNull StringBuilder s, @NonNull CGPackage cgPackage) {
+		CGPackage cgParentPackage = cgPackage.getContainingPackage();
+		if (cgParentPackage != null) {
+			appendQualifyingPackage(s, cgParentPackage);
+		}
+		String packageName = cgPackage.getName();
+		if (packageName != null) {
+			s.append(packageName);
+			s.append(".");
+		}
+	}
+
 	public void appendReferenceTo(@NonNull Class<?> requiredClass, @Nullable CGValuedElement cgValue) {
 		if (cgValue == null) {
 			append("<<null-appendReferenceTo>>");