// Copied from org.eclipse.ocl.ecore.tests.DocumentationExamples.java

		EPackage.Registry registry = new EPackageRegistryImpl();
		registry.put(EXTLibraryPackage.eNS_URI, EXTLibraryPackage.eINSTANCE);
		EcoreEnvironmentFactory environmentFactory = new EcoreEnvironmentFactory(registry);
		OCL ocl = OCL.newInstance(environmentFactory);

		// get an OCL text file via some hypothetical API
		InputStream in = getInputStream("/model/parsingDocumentsExample.ocl");

		Map<String, Constraint> constraintMap = new HashMap<String, Constraint>();

		// parse the contents as an OCL document
		try {
		    OCLInput document = new OCLInput(in);
		    
		    List<Constraint> constraints = ocl.parse(document);
		    for (Constraint next : constraints) {
		        constraintMap.put(next.getName(), next);
		        
		        OCLExpression<EClassifier> body = next.getSpecification().getBodyExpression();
		        System.out.printf("%s: %s%n", next.getName(), body);
		    }
		} finally {
		    in.close();
		}
