question: JCExpression transformClassParameterType ( Parameter parameter ) { FunctionOrValue decl = parameter . getModel ( ) ; if ( ! ( decl . getContainer ( ) instanceof Class ) ) { throw new BugException ( "expected parameter of Class" ) ; } JCExpression type ; FunctionOrValue attr = decl ; if ( ! Decl . isTransient ( attr ) ) { TypedReference typedRef = getTypedReference ( attr ) ; TypedReference nonWideningTypedRef = nonWideningTypeDecl ( typedRef ) ; Type paramType = nonWideningType ( typedRef , nonWideningTypedRef ) ; type = makeJavaType ( nonWideningTypedRef . getDeclaration ( ) , paramType , 0 ) ; } else { Type paramType = decl . getType ( ) ; type = makeJavaType ( decl , paramType , 0 ) ; } return type ; }
target:  Transforms the type of the given class parameter