code: protected QualifiedName getOrComputeFullyQualifiedName(final EObject obj) {
  		return cache.get(Tuples.pair(obj, "fqn"), obj.eResource(), ()->computeFullyQualifiedName(obj));
  	}
docs: Tries to obtain the FQN of the given object from the {@link #cache}. If it is absent,
  it computes a new name.
  
  @see #computeFullyQualifiedName(EObject).
  @since 2.15