question: private static ClassNode createUsableClassNodeFromGenericsType ( final GenericsType genericsType ) { ClassNode value = genericsType . getType ( ) ; if ( genericsType . isPlaceholder ( ) ) { value = OBJECT_TYPE ; } ClassNode lowerBound = genericsType . getLowerBound ( ) ; if ( lowerBound != null ) { value = lowerBound ; } else { ClassNode [ ] upperBounds = genericsType . getUpperBounds ( ) ; if ( upperBounds != null ) { value = WideningCategories . lowestUpperBound ( Arrays . asList ( upperBounds ) ) ; } } return value ; }
target:  Given a GenericsType instance, returns a ClassNode which can be used as an inferred type.