@Test
public void multipleGenericParameters() {

  assertThat(GenericsUtil.fromGenericType(MultiparameterSubclass.class, MultiparameterSuperclass.class, 0))
    .isEqualTo(String.class);
  assertThat(GenericsUtil.fromGenericType(MultiparameterSubclass.class, MultiparameterSuperclass.class, 1))
    .isEqualTo(Integer.class);
  assertThat(GenericsUtil.fromGenericType(MultiparameterSwitchingSubclass.class, MultiparameterSuperclass.class, 0))
    .isEqualTo(Integer.class);
  assertThat(GenericsUtil.fromGenericType(MultiparameterSwitchingSubclass.class, MultiparameterSuperclass.class, 1))
    .isEqualTo(String.class);
}