record the elapsed time in case the new duration is greater . this method could be called multiple times if we run shared action concurrently and the one that really gets executed takes more time to send the finish event and the one that was a cache hit manages to send the event before . in this case we overwrite the time with the greater time . this logic is known to be incorrect , as other actions that depend on this action will not necessarily use the correct getelapsedtimenanos . but we do not want to block action execution because of this . so in certain conditions we might see another path as the critical path . concode_field_sep long childAggregatedElapsedTime concode_elem_sep boolean isRunning concode_elem_sep long relativeFinishNanos concode_elem_sep Action action concode_elem_sep long relativeStartNanos concode_elem_sep C child concode_field_sep long getAggregatedElapsedTimeMillis concode_elem_sep C getChild concode_elem_sep long getAggregatedElapsedTimeNanos concode_elem_sep Action getAction concode_elem_sep String toString concode_elem_sep long getElapsedTimeMillis concode_elem_sep long getStartWallTimeMillis concode_elem_sep void addDepInfo concode_elem_sep long getElapsedTimeNanos
boolean function ( long arg0 , long arg1 ) { if ( isRunning || arg1 - arg0 > getElapsedTimeNanos ( ) ) { this . relativeStartNanos = arg0 ; this . relativeFinishNanos = arg1 ; isRunning = false ; return true ; } return false ; }