example updated
diff --git a/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java b/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java
index 28de090..0cc81a3 100644
--- a/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java
+++ b/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java
@@ -11,7 +11,14 @@
  *******************************************************************************/
 package org.eclipse.dltk.javascript.developertools;
 
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.dltk.javascript.typeinfo.ITypeNames;
 import org.eclipse.dltk.javascript.typeinfo.TypeUtil;
+import org.eclipse.dltk.javascript.typeinfo.model.Constructor;
+import org.eclipse.dltk.javascript.typeinfo.model.JSType;
+import org.eclipse.dltk.javascript.typeinfo.model.Member;
+import org.eclipse.dltk.javascript.typeinfo.model.Parameter;
+import org.eclipse.dltk.javascript.typeinfo.model.ParameterKind;
 import org.eclipse.dltk.javascript.typeinfo.model.Property;
 import org.eclipse.dltk.javascript.typeinfo.model.Type;
 import org.eclipse.dltk.javascript.typeinfo.model.TypeInfoModelFactory;
@@ -36,34 +43,40 @@
 		exampleType.setName("Example");
 		exampleType.setKind(TypeKind.JAVASCRIPT);
 		//
-		final Property id = typeInfoFactory.createProperty();
-		id.setName("id");
-		id.setType(TypeUtil.ref(numberType));
-		exampleType.getMembers().add(id);
-		// id.setAttribute("a", 1);
-		// id.setAttribute("b", 2L);
+		exampleType.getMembers().add(
+				createProperty("id", TypeUtil.ref(numberType)));
+		exampleType.getMembers()
+				.add(createProperty("uid", TypeUtil.ref("UID")));
+		exampleType.getMembers().add(
+				createProperty("name", TypeUtil.ref(stringType)));
+		exampleType.getMembers().add(
+				createProperty("names",
+						TypeUtil.arrayOf(TypeUtil.ref(stringType))));
 		//
-		final Property uid = typeInfoFactory.createProperty();
-		uid.setName("uid");
-		uid.setType(TypeUtil.ref("UID"));
-		exampleType.getMembers().add(uid);
-		//
-		final Property name = typeInfoFactory.createProperty();
-		name.setName("name");
-		name.setType(TypeUtil.ref(stringType));
-		exampleType.getMembers().add(name);
-		//
-		final Property names = typeInfoFactory.createProperty();
-		names.setName("names");
-		names.setType(TypeUtil.arrayOf(TypeUtil.ref(stringType)));
-		exampleType.getMembers().add(names);
+		final Constructor constructor = typeInfoFactory.createConstructor();
+		constructor.setName(exampleType.getName());
+		final Parameter parameter = typeInfoFactory.createParameter();
+		parameter.setName("value");
+		parameter.setType(TypeUtil.ref(ITypeNames.OBJECT));
+		parameter.setKind(ParameterKind.OPTIONAL);
+		constructor.getParameters().add(parameter);
+		exampleType.setConstructor(constructor);
+		Assert.isTrue(constructor.getDeclaringType() == exampleType);
 		//
 		resource.getContents().add((EObject) exampleType);
+		//
 		resource.setEncoding("UTF-8");
 		resource.save(System.out, null);
 		return EXIT_OK;
 	}
 
+	private Member createProperty(String name, JSType type) {
+		final Property property = typeInfoFactory.createProperty();
+		property.setName(name);
+		property.setType(type);
+		return property;
+	}
+
 	public void stop() {
 	}
 }