protected static boolean isMissingTypeParameters(Type type){
  if (type instanceof Class) {
    for (Class<?> clazz=(Class<?>)type; clazz != null; clazz=clazz.getEnclosingClass()) {
      if (clazz.getTypeParameters().length != 0)       return true;
    }
    return false;
  }
 else   if (type instanceof ParameterizedType) {
    return false;
  }
 else {
    throw new AssertionError("Unexpected type " + type.getClass());
  }
}

protected static boolean isMissingTypeParameters ( Type type ) { if ( type instanceof Class ) { for ( Class < ? > clazz = ( Class < ? > ) type ; clazz != null ; clazz = clazz . getEnclosingClass ( ) ) { if ( clazz . getTypeParameters ( ) . length != 0 ) return true ; } return false ; } else if ( type instanceof ParameterizedType ) { return false ; } else { throw new AssertionError ( "Unexpected type " + type . getClass ( ) ) ; } }
checks if the given type is a class that is supposed to have type parameters , but doesn ' t . in other words , if it ' s a really raw type .
