String convert(StackTraceElement e) {
				switch (this) {
					case CLASS_NAME:
						return e.getClassName();
					case CLASS_AND_METHOD_NAME:
						return e.getClassName() + ' ' + e.getMethodName();
					case ALL:
						return e.toString();
					default:
						throw new AssertException("Missing case type");
				}
			}
Returns the type arguments for the given base class and extension.

<p>Caveat: this lookup will only work if the given child class is a concrete class that
has its type arguments specified.  For example, these cases will work:
<pre>
		// anonymous class definition
		List&lt;String&gt; myList = new ArrayList&lt;String&gt;() {
			...
		};

		// class definition
		public class MyList implements List&lt;String&gt; {
</pre>

Whereas this case will not work:
<pre>
		// local variable with the type specified
		List&lt;String&gt; myList = new ArrayList&lt;String&gt;();
</pre>

<p>Note: a null entry in the result list will exist for any type that was unrecoverable


@param <T> the type of the base and child class
@param baseClass the base class
@param childClass the child class
@return the type arguments
Ghidra/Framework/Utility/src/main/java/utilities/util/reflection/ReflectionUtilities.java