code: public void resolveLazyCrossReferences(final CancelIndicator mon) {
  		final CancelIndicator monitor = mon == null ? CancelIndicator.NullImpl : mon;
  		TreeIterator<Object> iterator = EcoreUtil.getAllContents(this, true);
  		while (iterator.hasNext()) {
  			operationCanceledManager.checkCanceled(monitor);
  			InternalEObject source = (InternalEObject) iterator.next();
  			EStructuralFeature[] eStructuralFeatures = ((EClassImpl.FeatureSubsetSupplier) source.eClass()
  					.getEAllStructuralFeatures()).crossReferences();
  			if (eStructuralFeatures != null) {
  				for (EStructuralFeature crossRef : eStructuralFeatures) {
  					operationCanceledManager.checkCanceled(monitor);
  					resolveLazyCrossReference(source, crossRef);
  				}
  			}
  		}
  	}
docs: resolves any lazy cross references in this resource, adding Issues for unresolvable elements to this resource.
  This resource might still contain resolvable proxies after this method has been called.
  
  @param mon a {@link CancelIndicator} can be used to stop the resolution.