Buggy code:
public class Driver { @ SuppressWarnings ( "deprecation" ) public static void main ( String [ ] args ) { System . out . println ( "Testing...testing...." ) ; AbstractEvent [ ] events = new AbstractEvent [ 8 ] ; System . out . println ( "Testing<seq2seq4repair_space>each<seq2seq4repair_space>constructor:<seq2seq4repair_space>[String],<seq2seq4repair_space>[String,<seq2seq4repair_space>EventType],<seq2seq4repair_space>[String,<seq2seq4repair_space>EventType,<seq2seq4repair_space>Date],<seq2seq4repair_space>[String,<seq2seq4repair_space>EventType,<seq2seq4repair_space>Date,<seq2seq4repair_space>long]" ) ; events [ 0 ] = new Individual ( "100M<seq2seq4repair_space>Sprint" ) ; events [ 1 ] = new Group ( "CrossCountry<seq2seq4repair_space>Skiiing" , EventType . GRP ) ; events [ 2 ] = new ParIndividual ( "Marathon" , EventType . PARIND , new Date ( 2015 , 2 , 17 , 9 , 23 , 50 ) ) ; events [ 3 ] = new ParGroup ( "Swimming" , EventType . PARGRP , new Date ( 2015 , 2 , 17 , 9 , 25 , 0 ) , 9000 ) ; System . out . println ( "Testing<seq2seq4repair_space>empty<seq2seq4repair_space>constructor<seq2seq4repair_space>for<seq2seq4repair_space>each<seq2seq4repair_space>class.<seq2seq4repair_space>Should<seq2seq4repair_space>be<seq2seq4repair_space>type<seq2seq4repair_space>specific" ) ; events [ 4 ] = new Individual ( ) ; events [ 5 ] = new Group ( ) ; events [ 6 ] = new ParIndividual ( ) ; events [ 7 ] = new ParGroup ( ) ; ArrayList < Participant > partic = new ArrayList < Participant > ( ) ; partic . add ( new Participant ( 1 , "Bob" ) ) ; partic . get ( 0 ) . createNewRecord ( ) ; for ( AbstractEvent e : events ) { e . initializeEvent ( partic ) ; } for ( AbstractEvent eve : events ) { String message = "" ; message += "\nName:<seq2seq4repair_space>" + ( eve . getName ( ) ) ; message += "\nType:<seq2seq4repair_space>" + ( eve . getType ( ) ) ; message += "\nTime:<seq2seq4repair_space>" + ( eve . getEventTime ( ) . toString ( ) ) ; message += "\nId:<seq2seq4repair_space>" + ( eve . getEventId ( ) ) ; System . out . println ( message ) ; message = "" ; eve . startParticipants ( ) ; for ( Participant par : eve . getParticipants ( ) ) { message += "\nEvent<seq2seq4repair_space>Name:<seq2seq4repair_space>" + ( par . getLastRecord ( ) . getEventName ( ) ) ; message += "\nEvent<seq2seq4repair_space>ID:<seq2seq4repair_space>" + ( par . getLastRecord ( ) . getEventID ( ) ) ; message += "\nStart<seq2seq4repair_space>Time:<seq2seq4repair_space>" + ( par . getLastRecord ( ) . getStartTime ( ) ) ; message += "\nisCompeting:<seq2seq4repair_space>" + ( par . getIsCompeting ( ) ) ; System . out . println ( message ) ; } message = "" ; <START_BUG> eve . finishParticipant ( ) ; <END_BUG> for ( Participant par : eve . getParticipants ( ) ) { message += "\nEvent<seq2seq4repair_space>Name:<seq2seq4repair_space>" + ( par . getLastRecord ( ) . getEventName ( ) ) ; message += "\nEvent<seq2seq4repair_space>ID:<seq2seq4repair_space>" + ( par . getLastRecord ( ) . getEventID ( ) ) ; message += "\nFinish<seq2seq4repair_space>Time:<seq2seq4repair_space>" + ( par . getLastRecord ( ) . getFinishTime ( ) ) ; message += "\nisCompeting:<seq2seq4repair_space>" + ( par . getIsCompeting ( ) ) ; System . out . println ( message ) ; } } } }

Fix:
eve . finishParticipants ( ) ;