question: Type renameTypeAsType ( Type type ) { if ( type == null ) { return null ; } if ( type . getSort ( ) == Type . OBJECT ) { String in = type . getInternalName ( ) ; String newIn = renameInternalType ( in ) ; if ( newIn != in ) { return Type . getType ( "L" + newIn + ";" ) ; } } else if ( type . getSort ( ) == Type . ARRAY ) { StringBuilder sb = new StringBuilder ( ) ; for ( int n = type . getDimensions ( ) ; n > 0 ; n -- ) { sb . append ( '[' ) ; } sb . append ( renameType ( type . getElementType ( ) ) ) ; return Type . getType ( sb . toString ( ) ) ; } return type ; }
target:  Renames an object type, e.g. "Lcom.package.MyClass;" or an array type that has an object element, e.g. "[Lcom.package.MyClass;". This is like renameType() except that it returns a Type object. If the type doesn't need to be renamed, returns the input type object.