code: protected static void requestNotificationOnChange(JvmType type, Runnable listener) {
  		Resource resource = type.eResource();
  		if (resource instanceof TypeResource) {
  			IMirror mirror = ((TypeResource) resource).getMirror();
  			if (mirror instanceof IMirrorExtension) {
  				if (((IMirrorExtension) mirror).isSealed())
  					return;
  			}
  		}
  		Notifier notifier = type;
  		if (resource != null) {
  			if (resource.getResourceSet() != null)
  				notifier = resource.getResourceSet();
  			else
  				notifier = resource;
  		}
  		JvmTypeChangeDispatcher dispatcher = JvmTypeChangeDispatcher.findResourceChangeDispatcher(notifier);
  		dispatcher.requestNotificationOnChange(type, listener);
  	}
docs: Registers the given listener to be notified on type changes, if (and only if) the type
  if expected to be changeable.
  
  @see IMirrorExtension#isSealed()