Buggy code:
private static Map < Class < ? extends Tree . UnaryOperatorExpression > , String > unaryOperators ; private static Map < Class < ? extends Tree . BinaryOperatorExpression > , String > binaryOperators ; public JCExpression transform ( Tree . NotEqualOp op ) { } public JCExpression transform ( Tree . NotOp op ) { } public JCExpression transform ( Tree . AssignOp op ) { } public JCExpression transformAssignment ( Node op , Term leftTerm , Term rightTerm ) { } private JCExpression transformAssignment ( final Node op , Term leftTerm , JCExpression rhs ) { } private JCExpression transformAssignment ( Node op , Term leftTerm , JCExpression lhs , JCExpression rhs ) { } public JCExpression transform ( Tree . IsOp op ) { } public JCTree transform ( Nonempty op ) { } public JCTree transform ( Exists op ) { } public JCExpression transform ( Tree . RangeOp op ) { } public JCExpression transform ( Tree . EntryOp op ) { } public JCExpression transform ( Tree . PositiveOp op ) { } public JCExpression transform ( Tree . NegativeOp op ) { } public JCExpression transformUnaryOperator ( Tree . UnaryOperatorExpression op , Interface compoundType ) { } private ProducedType getSupertype ( Term term , Interface compoundType ) { } public JCExpression transform ( Tree . UnaryOperatorExpression op , ProducedType expectedType ) { } public JCExpression transform ( final Tree . ArithmeticAssignmentOp op ) { } public JCExpression transform ( Tree . BitwiseAssignmentOp op ) { } public JCExpression transform ( final Tree . LogicalAssignmentOp op ) { } public JCExpression transform ( Tree . ComparisonOp op ) { } public JCExpression transform ( Tree . CompareOp op ) { } public JCExpression transform ( Tree . ArithmeticOp op ) { } public JCExpression transform ( Tree . SumOp op ) { } public JCExpression transform ( Tree . DifferenceOp op ) { } public JCExpression transform ( Tree . RemainderOp op ) { } public JCExpression transformArithmeticOperator ( Tree . BinaryOperatorExpression op , Interface compoundType ) { } private ProducedType getTypeArgument ( ProducedType leftType ) { } private ProducedType getTypeArgument ( ProducedType leftType , int i ) { } public JCTree transform ( InOp op ) { } public JCExpression transformBinaryOperator ( Tree . BinaryOperatorExpression op , ProducedType leftType , ProducedType rightType ) { } private JCExpression transformBinaryOperator ( BinaryOperatorExpression op , Class < ? extends Tree . OperatorExpression > operatorClass , JCExpression left , ProducedType rightType ) { } public JCExpression transform ( Tree . LogicalOp op ) { } private JCExpression transformLogicalOp ( Node op , Class < ? extends Tree . LogicalOp > operatorClass , JCExpression left , Term rightTerm ) { } JCExpression transform ( Tree . PostfixOperatorExpression expr ) { } public JCExpression transform ( Tree . PrefixOperatorExpression expr ) { } private interface SideEffectOperationFactory { JCExpression makeOperation ( JCExpression getter ) { } } private JCExpression transformSideEffectOperation ( Node operator , Term term , boolean boxResult , ProducedType valueType , ProducedType returnType , ExpressionTransformer . SideEffectOperationFactory factory ) { } JCExpression transform ( Tree . InvocationExpression ce ) { } private JCExpression transformNamedInvocation ( final InvocationExpression ce ) { } private JCExpression transformPositionalInvocation ( InvocationExpression ce ) { } private List < ProducedType > getTypeArguments ( InvocationExpression ce ) { } com . sun . tools . javac . util . List < JCExpression > transformTypeArguments ( List < ProducedType > typeArguments ) { } JCExpression transformArg ( Tree . PositionalArgument arg , boolean isRaw , List < ProducedType > typeArgumentModels ) { if ( ( arg . getParameter ( ) ) == null ) return make ( ) . Erroneous ( ) ; Parameter parameter = arg . getParameter ( ) ; Scope scope = parameter . getContainer ( ) ; ProducedType type = parameter . getType ( ) ; if ( ( type . getDeclaration ( ) ) instanceof TypeParameter ) { TypeParameter tp = ( ( TypeParameter ) ( type . getDeclaration ( ) ) ) ; if ( ( tp . getSatisfiedTypes ( ) . size ( ) ) >= 1 ) type = tp . getSatisfiedTypes ( ) . get ( 0 ) . getType ( ) ; else <START_BUG> if ( ! isRaw ) { <END_BUG> int typeParamIndex = getTypeParameterIndex ( scope , tp ) ; if ( typeParamIndex != ( - 1 ) ) type = typeArgumentModels . get ( typeParamIndex ) ; } } return transformExpression ( arg . getExpression ( ) , Util . getBoxingStrategy ( arg . getParameter ( ) ) , type ) ; } private int getTypeParameterIndex ( Scope scope , TypeParameter tp ) { } JCExpression ceylonLiteral ( String s ) { } public JCExpression transform ( Tree . StringLiteral string ) { } public JCExpression transform ( Tree . QuotedLiteral string ) { } public JCExpression transform ( Tree . CharLiteral lit ) { } public JCExpression transform ( Tree . FloatLiteral lit ) { } public JCExpression transform ( Tree . NaturalLiteral lit ) { } public JCExpression transform ( Tree . QualifiedMemberExpression expr , ExpressionTransformer . TermTransformer transformer ) { } private JCExpression transformQualifiedMemberPrimary ( Tree . QualifiedMemberExpression expr ) { } public JCExpression transform ( Tree . BaseMemberExpression expr , ExpressionTransformer . TermTransformer transformer ) { } interface TermTransformer { JCExpression transform ( JCExpression primaryExpr , String selector ) { } } private JCExpression transformPrimary ( Tree . Primary primary , ExpressionTransformer . TermTransformer transformer ) { } private JCExpression transformMemberExpression ( Tree . StaticMemberOrTypeExpression expr , JCExpression primaryExpr , ExpressionTransformer . TermTransformer transformer ) { } private JCExpression makeIdentOrSelect ( JCExpression expr , String name , String ... names ) { } private boolean isRecursiveReference ( Tree . StaticMemberOrTypeExpression expr ) { } public JCExpression transform ( SequenceEnumeration value ) { } public JCTree transform ( This expr ) { } public JCTree transform ( Super expr ) { } public JCTree transform ( Outer expr ) { }

Fix:
if ( ( ! isRaw ) && ( typeArgumentModels != null ) ) {