/**
  * Parses a type definition
  *
  * @param type
  * @return
  */
 protected static TypeInfo ParseType(Type type) {
   TypeInfo typeInfo = new TypeInfo();
   typeInfo.qualifiedName = type.qualifiedTypeName();
   typeInfo.dimension = type.dimension();
   typeInfo.wildcard = ParseWildCard(type.asWildcardType());
   typeInfo.generics = ParseGenerics(type.asParameterizedType());
   return typeInfo;
 }