NotPossibleToResolve
This exception means that a value is inherently not resolveable, at the moment the only known cause is a cycle of substitutions. This is a checked exception since it's internal to the library and we want to be sure we handle it before passing it out to public API. This is only supposed to be thrown by the target of a cyclic reference and it's supposed to be caught by the ConfigReference looking up that reference, so it should be impossible for an outermost resolve() to throw this.
Contrast with ConfigException.NotResolved which just means nobody called resolve().
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any