code: public static Class getParameterizedClass(final Field field, final int index) {
          if (field.getGenericType() instanceof ParameterizedType) {
              final ParameterizedType type = (ParameterizedType) field.getGenericType();
              if ((type.getActualTypeArguments() != null) && (type.getActualTypeArguments().length <= index)) {
                  return null;
              }
              final Type paramType = type.getActualTypeArguments()[index];
              if (paramType instanceof GenericArrayType) {
                  final Class arrayType = (Class) ((GenericArrayType) paramType).getGenericComponentType();
                  return Array.newInstance(arrayType, 0)
                              .getClass();
              } else {
                  if (paramType instanceof ParameterizedType) {
                      final ParameterizedType paramPType = (ParameterizedType) paramType;
                      return (Class) paramPType.getRawType();
                  } else {
                      if (paramType instanceof TypeVariable) {
                          // TODO: Figure out what to do... Walk back up the to
                          // the parent class and try to get the variable type
                          // from the T/V/X
                          throw new MappingException("Generic Typed Class not supported:  <" + ((TypeVariable) paramType).getName() + "> = "
                                                     + ((TypeVariable) paramType).getBounds()[0]);
                      } else if (paramType instanceof Class) {
                          return (Class) paramType;
                      } else {
                          throw new MappingException("Unknown type... pretty bad... call for help, wave your hands... yeah!");
                      }
                  }
              }
          }
          return getParameterizedClass(field.getType());
      }
docs: Get the class that parameterizes the Field supplied, at the index supplied (field can be parameterized with multiple param classes).
  
  @param field the field
  @param index the index of the parameterizing class
  @return the class that parameterizes the field, or null if field is not parameterized