Utility methods related to dependencies being relocated as part of shading. The following
assumptions are made:
- if any class is shaded, this one is;
- all packages are shaded into a single, common shade package; and
- the original package name is completely preserved.
For example, if com.google.common.collect.ImmutableList is shaded to
org.example.shaded.com.google.common.collect.ImmutableList, unshadedName(java.lang.String)
will reverse the shading, allowing ImmutableList.class to be used as a clean reference
within code generation.