nl: starts the timeout thread if it is not currently running . nothing happens if a thread is already running . concode_field_sep Thread fCurrentThread concode_elem_sep Timeout fCurrentTimeoutState concode_elem_sep int IDLE concode_elem_sep Display fDisplay concode_elem_sep Object fMutex concode_elem_sep boolean fTimeoutState concode_elem_sep long fNextTimeout concode_elem_sep boolean fKeepRunningOnTimeout concode_elem_sep int fState concode_elem_sep int RUNNING concode_elem_sep int STOPPED concode_field_sep Timeout restart concode_elem_sep void hold concode_elem_sep boolean tryTransition concode_elem_sep void setNextTimeout concode_elem_sep void stop concode_elem_sep boolean isState concode_elem_sep boolean hasTimedOut concode_elem_sep String name concode_elem_sep void checkedTransition concode_elem_sep void startThread concode_elem_sep void assertStates concode_elem_sep void setTimedOut concode_elem_sep void unhold
code: Timeout function ( long arg0 ) { Assert . assertTrue ( arg0 > 0 ) ; synchronized ( fMutex ) { switch ( fState ) { case STOPPED : startThread ( ) ; setNextTimeout ( arg0 ) ; break ; case IDLE : unhold ( ) ; setNextTimeout ( arg0 ) ; break ; default : break ; } return fCurrentTimeoutState ; } }