ResolveProcessException is an exception which is used to control the resolve process.
All {@link ResolveProcessException} subclasses have the ability to interrupt the resolve processwhen thrown while resolving dependencies, instead of only marking the module with a problem and continuing the resolve process as part of the best effort strategy during resolve process.
Some subclasses have even a stronger power over the resolve process, like {@link RestartResolveProcess} which orders to restart the resolve process at the start.