/**
  * Add a throwable exception that must match the given type or be derived and index.
  *
  * @param type - exception type.
  * @param index - the position in the throwable list.
  * @return This builder, for chaining.
  */
 public Builder exceptionSuperOf(Class<?> type, int index) {
   member.exceptionMatchers.add(
       new ParameterClassMatcher(FuzzyMatchers.matchSuper(type), index));
   return this;
 }
 /**
  * Add a new required parameter whose type must be a superclass of the given type.
  *
  * <p>If a method parameter is of type Number, then any derived class here (Integer, Long, etc.)
  * will match it.
  *
  * @param type - a type or less derived type of the matching parameter.
  * @return This builder, for chaining.
  */
 public Builder parameterSuperOf(Class<?> type) {
   member.paramMatchers.add(new ParameterClassMatcher(FuzzyMatchers.matchSuper(type)));
   return this;
 }