code: private boolean isCollection(Class<?> rawType) {
  
      // this sucks... is there really no way to work around this in GWT?
      // http://code.google.com/p/google-web-toolkit/issues/detail?id=4663
      if (rawType == Collection.class) {
        return true;
      }
      if (rawType == List.class) {
        return true;
      }
      if (rawType == Set.class) {
        return true;
      }
      Class<?> superType = rawType;
      while (superType != null) {
        if (superType == AbstractCollection.class) {
          return true;
        }
        superType = superType.getSuperclass();
      }
      return false;
    }
docs: This method determines if the given type is a {@link List}.
  
  @param rawType is the {@link Class} to check.
  @return {@code true} if the given type is assignable to {@link List}.