Guavagood first issue
描述
Maybe InternalUtils.getRootCause()?
We should probably write a few tests.
The other question is whether our InternalUtils.getRootCause() needs to handle loops in the dependency chain. I think we should strongly consider keeping it simple as I doubt we have anything complicated enough to cause loops.