question: method that stops the current lap and adds the lap to the arraylist of lap times . the behavior of a stop is like a pause button where the lap that was stopped resumes if the stop method call is succeeded by a start method call , and the lap is added if not succeeded by a start call . concode_field_sep long lapstart concode_elem_sep List<Long> laptimes concode_elem_sep Object lock concode_elem_sep long lapstop concode_elem_sep long pausedlap concode_elem_sep String id concode_elem_sep String state concode_elem_sep long laptime concode_field_sep void addLapTime concode_elem_sep List<Long> getLapTimes concode_elem_sep int hashCode concode_elem_sep void clearLapReadings concode_elem_sep boolean equals concode_elem_sep void start concode_elem_sep void reset concode_elem_sep String getId concode_elem_sep void lap concode_elem_sep String toString
target: void function ( ) { synchronized ( lock ) { if ( ! state . equals ( "srini_string" ) ) { throw new IllegalStateException ( "srini_string" ) ; } else { state = "srini_string" ; addLapTime ( ) ; } } }