Buggy code:
private vL . getMovement ( ) ) ) + ( vL . getControl ( ) ) ) + ( 2.0 * ( ( ( vR . getStuff ( ) ) + ( vR . getMovement ( ) ) ) + ( vR . getControl ( ) ) ) ) ) // 3.0 ; } else { Splits < BattingRatings < ? > > rs = p . getBattingRatings ( ) ; BattingRatings < ? > vL = rs . getVsLeft ( ) ; BattingRatings < ? > vR = rs . getVsRight ( ) ; base = ( ( ( ( vL . getContact ( ) ) + ( vL . getPower ( ) ) ) + ( vL . getEye ( ) ) ) + ( 2.0 * ( ( ( vR . getContact ( ) ) + ( vR . getPower ( ) ) ) + ( vR . getEye ( ) ) ) ) ) // 3.0 ; } Integer need = Slot . getPlayerSlots ( p ) . stream ( ) . filter ( ( s ) -> s != Slot . P ) . filter ( ( s ) -> ( s != Slot . H ) || ( ( Slot . getPrimarySlot ( p ) ) == Slot . H ) ) . map ( ( s ) -> ( rr . getTargetRatio ( ) ) - ( rr . getRatio ( s ) ) ) . max ( Integer :: compare ) . orElse ( 0 ) ; need = Math . max ( 0 , need ) ; int intangibles = 0 ; if ( p . getClutch ( ) . isPresent ( ) ) { switch ( p . getClutch ( ) . get ( ) ) { case GREAT : intangibles += 1 ; break ; case SUFFERS : intangibles += - 1 ; break ; default : } } if ( p . getConsistency ( ) . isPresent ( ) ) { switch ( p . getConsistency ( ) . get ( ) ) { case VERY_INCONSISTENT : intangibles -= 1 ; break ; case GOOD : intangibles += 1 ; break ; default : } } Double mrFactor = ( ( Slot . getPrimarySlot ( p ) ) == Slot . MR ) ? 0.865 : 1.0 ; return new Double ( ( ( ( ( ( mrFactor * base ) - ( p . getAge ( ) ) ) + need ) - ( PlayerValue . getAgingFactor ( p ) ) ) + intangibles ) ) . intValue ( ) ; } ) ; } generic . setTitle ( "Selected" ) ; generic . setPlayers ( team ) ; generic . print ( out ) ; generic . setTitle ( "Free<seq2seq4repair_space>Agents" ) ; generic . setPlayers ( site . getFreeAgents ( ) ) ; generic . print ( out ) ; return ; } Main . LOG . info ( "Calculating<seq2seq4repair_space>top<seq2seq4repair_space>FA<seq2seq4repair_space>targets..." ) ; Iterable < Player > topFaTargets = fas . getTopTargets ( mode ) ; Integer minRosterSize = 90 ; Integer maxRosterSize = 110 ; if ( site . getName ( ) . equals ( "LBB" ) ) { maxRosterSize = 100 ; } if ( site . getName ( ) . equals ( "PSD" ) ) { maxRosterSize = 165 ; minRosterSize = 135 ; } if ( ( oldRoster . size ( ) ) > maxRosterSize ) { for ( int i = 0 ; i < 2 ; i ++ ) { Optional < Player > release = fas . getPlayerToRelease ( team ) ; if ( release . isPresent ( ) ) { team . remove ( release . get ( ) ) ; released . add ( release . get ( ) ) ; } } } if ( ( ( ( ( site . getDate ( ) . getMonthOfYear ( ) ) < ( DateTimeConstants . SEPTEMBER ) ) && ( ( site . getDate ( ) . getMonthOfYear ( ) ) > ( DateTimeConstants . MARCH ) ) ) && ( ! ( battingRegression . isEmpty ( ) ) ) ) && ( ! ( pitchingRegression . isEmpty ( ) ) ) ) { Main . LOG . info ( "Determining<seq2seq4repair_space>FA<seq2seq4repair_space>acquisition..." ) ; if ( ( oldRoster . size ( ) ) <= maxRosterSize ) { Integer n = 2 ; if ( ( ( site . getName ( ) . equals ( "CBL" ) ) || ( site . getName ( ) . equals ( "TWML" ) ) ) || ( site . getName ( ) . equals ( "BTHUSTLE" ) ) ) { n = 1 ; } if ( ( ( ( site . getName ( ) . equals ( "SAVOY" ) ) || ( site . getName ( ) . equals ( "GABL" ) ) ) || ( site . getName ( ) . equals ( "BTH" ) ) ) || ( site . getName ( ) . contains ( "OLD_BTH" ) ) ) { n = 0 ; } faas = FreeAgentAcquisition . select ( site , changes , team , fas . all ( ) , tv , n ) ; if ( ( oldRoster . size ( ) ) > minRosterSize ) { for ( FreeAgentAcquisition faa : faas ) { team . remove ( faa . getRelease ( ) ) ; } } } } ImmutableSet < Player > futureFas = ImmutableSet . of ( ) ; if ( isLookToNextSeason ) { futureFas = ImmutableSet . copyOf ( Iterables . filter ( team , site . isFutureFreeAgent ( ) ) ) ; System . out . print ( "Removing<seq2seq4repair_space>(FA):" ) ; for ( Player p : Player . byShortName ( ) . immutableSortedCopy ( futureFas ) ) { System . out . print ( ( ( p . getShortName ( ) ) + "//" ) ) ; } System . out . println ( ) ; team . remove ( futureFas ) ; } RosterSelection selection = RosterSelection . ootp6 ( team , battingRegression , pitchingRegression , tv ) ; if ( ( site . getType ( ) ) == ( Version . OOTP5 ) ) { selection = RosterSelection . ootp5 ( team , battingRegression , pitchingRegression , tv ) ; } selection . setPrevious ( oldRoster ) ; Main . LOG . log ( Level . INFO , "Selecting<seq2seq4repair_space>new<seq2seq4repair_space>rosters..." ) ; Stopwatch sw = Stopwatch . createStarted ( ) ; Mode selectionMode = mode ; if ( isPlayoffs ) { selectionMode = Mode . PLAYOFFS ; } Roster newRoster = selection . select ( selectionMode , changes ) ; newRoster . setTargetMinimum ( minRosterSize ) ; newRoster . setTargetMaximum ( maxRosterSize ) ; sw . stop ( ) ; Main . LOG . log ( Level . INFO , ( "Roster<seq2seq4repair_space>selection<seq2seq4repair_space>time:<seq2seq4repair_space>" + sw ) ) ; Printables . print ( new com . github . lstephen . ootp . ai . report . HittingSelectionReport ( newRoster , ps , site . getTeamBatting ( ) ) ) . to ( out ) ; selection . printPitchingSelectionTable ( out , newRoster , site . getTeamPitching ( ) ) ; Printables . print ( newRoster ) . to ( out ) ; Main . LOG . info ( "Calculating<seq2seq4repair_space>roster<seq2seq4repair_space>changes..." ) ; Printables . print ( newRoster . getChangesFrom ( oldRoster ) ) . to ( out ) ; for ( FreeAgentAcquisition faa : faas ) { Player player = faa . getFreeAgent ( ) ; <START_BUG> out . write ( String . format ( "%4s<seq2seq4repair_space>-><seq2seq4repair_space>%-4s<seq2seq4repair_space>%2s<seq2seq4repair_space>%s%n" , "FA" , "" , player . getListedPosition ( ) , player . getName ( ) ) . getBytes ( Charsets . ISO_8859_1 ) ) ; <END_BUG>

Fix:
out . write ( String . format ( "%4s<seq2seq4repair_space>-><seq2seq4repair_space>%-4s<seq2seq4repair_space>%2s<seq2seq4repair_space>%s%n" , "FA" , "" , player . getListedPosition ( ) . or ( "" ) , player . getName ( ) ) . getBytes ( Charsets . ISO_8859_1 ) ) ;