code: public static List<Class<?>> getGenericClasses(Field collectionField)
      {
          List<Class<?>> genericClasses = new ArrayList<Class<?>>();
          if (collectionField == null)
          {
              return genericClasses;
          }
          Type[] parameters = ReflectUtils.getTypeArguments(collectionField);
          if (parameters != null)
          {
  
              for (Type parameter : parameters)
              {
                  // workaround for jdk1.6 issue.
                  genericClasses.add(toClass(parameter));
              }
          }
          return genericClasses;
      }
docs: Retrieves Generic class from a collection field that has only one
  argument.
  
  @param collectionField
  the collection field
  @return the generic class