docs: @Pure
  	protected XExpression fromString(String expression) {
  		if (!Strings.isEmpty(expression)) {
  			ResourceSet resourceSet = this.context.eResource().getResourceSet();
  			URI uri = computeUnusedUri(resourceSet);
  			Resource resource = getResourceFactory().createResource(uri);
  			resourceSet.getResources().add(resource);
  			try (StringInputStream is = new StringInputStream(generateExpressionCode(expression))) {
  				resource.load(is, null);
  				SarlScript script = resource.getContents().isEmpty() ? null : (SarlScript) resource.getContents().get(0);
  				SarlEvent topElement = (SarlEvent) script.getXtendTypes().get(0);
  				SarlField member = (SarlField) topElement.getMembers().get(0);
  				return member.getInitialValue();
  			} catch (Throwable exception) {
  				throw new RuntimeException(exception);
  			} finally {
  				resourceSet.getResources().remove(resource);
  			}
  		}
  		throw new IllegalArgumentException("not a valid expression");
  	}