private static int hashList(List<? extends TypeMirror> mirrors, Set<Element> visiting) {
    int result = HASH_SEED;
    for (TypeMirror mirror : mirrors) {
      result *= HASH_MULTIPLIER;
      result += hash(mirror, visiting);
    }
    return result;
  }
Returns the type of the innermost enclosing instance, or null if there is none. This is the
same as {@link DeclaredType#getEnclosingType()} except that it returns null rather than NoType
for a static type. We need this because of <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=508222">this bug</a> whereby the Eclipse
compiler returns a value for static classes that is not NoType.
common/src/main/java/com/google/auto/common/MoreTypes.java