@Override
    protected T defaultAction(TypeMirror e, Void v) {
      throw new IllegalArgumentException(e + " does not represent a " + label);
    }
Resolves a {@link VariableElement} parameter to a method or constructor based on the given
container, or a member of a class. For parameters to a method or constructor, the variable's
enclosing element must be a supertype of the container type. For example, given a {@code
container} of type {@code Set<String>}, and a variable corresponding to the {@code E e}
parameter in the {@code Set.add(E e)} method, this will return a TypeMirror for {@code String}.
common/src/main/java/com/google/auto/common/MoreTypes.java