question: @ SuppressWarnings ( { "UnnecessaryBoxing" , "PMD.IntegerInstantiation" } ) @ NoInline @ Pure private static Object makeArgumentCompatible ( RVMType expectedType , Object arg ) { if ( expectedType . isPrimitiveType ( ) ) { if ( arg instanceof java . lang . Byte ) { if ( expectedType . isByteType ( ) ) return arg ; if ( expectedType . isShortType ( ) ) return Short . valueOf ( ( Byte ) arg ) ; if ( expectedType . isIntType ( ) ) return Integer . valueOf ( ( Byte ) arg ) ; if ( expectedType . isLongType ( ) ) return Long . valueOf ( ( Byte ) arg ) ; } else if ( arg instanceof java . lang . Short ) { if ( expectedType . isShortType ( ) ) return arg ; if ( expectedType . isIntType ( ) ) return Integer . valueOf ( ( Short ) arg ) ; if ( expectedType . isLongType ( ) ) return Long . valueOf ( ( Short ) arg ) ; } else if ( arg instanceof java . lang . Character ) { if ( expectedType . isCharType ( ) ) return arg ; if ( expectedType . isIntType ( ) ) return Integer . valueOf ( ( Character ) arg ) ; if ( expectedType . isLongType ( ) ) return Long . valueOf ( ( Character ) arg ) ; } else if ( arg instanceof java . lang . Integer ) { if ( expectedType . isIntType ( ) ) return arg ; if ( expectedType . isLongType ( ) ) return Long . valueOf ( ( Integer ) arg ) ; } else if ( arg instanceof java . lang . Float ) { if ( expectedType . isDoubleType ( ) ) return Double . valueOf ( ( Float ) arg ) ; } } return arg ; }
target:  Make possibly wrapped method argument compatible with expected type