question: @ edu . umd . cs . findbugs . annotations . SuppressFBWarnings ( value = "FE_FLOATING_POINT_EQUALITY" , justification = "equality is specifically 'Unchanged' here" ) public void changeLocoSpeed ( DccThrottle t , Section sec , float speed ) { if ( sec == referenced && speed == desiredSpeedStep ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "Already setting to desired speed step for this section" ) ; } return ; } float sectionLength = sec . getActualLength ( ) ; if ( log . isDebugEnabled ( ) ) { log . debug ( "call to change speed via section " + sec . getDisplayName ( ) ) ; } if ( sec == referenced ) { distanceRemaining = distanceRemaining - getDistanceTravelled ( _throttle . getIsForward ( ) , _throttle . getSpeedSetting ( ) , ( ( float ) ( System . nanoTime ( ) - lastTimeTimerStarted ) / 1000000000 ) ) ; sectionLength = distanceRemaining ; } else { referenced = sec ; } changeLocoSpeed ( t , sectionLength , speed ) ; }
target:  Set speed of a throttle to a speeed set by a float, using the section for the length details