question: @ edu . umd . cs . findbugs . annotations . SuppressFBWarnings ( value = "FE_FLOATING_POINT_EQUALITY" , justification = "equality is specifically 'Unchanged' here" ) public void changeLocoSpeed ( DccThrottle t , Block blk , float speed ) { if ( blk == referenced && speed == desiredSpeedStep ) { return ; } float blockLength = blk . getLengthMm ( ) ; if ( blk == referenced ) { distanceRemaining = distanceRemaining - getDistanceTravelled ( _throttle . getIsForward ( ) , _throttle . getSpeedSetting ( ) , ( ( float ) ( System . nanoTime ( ) - lastTimeTimerStarted ) / 1000000000 ) ) ; blockLength = distanceRemaining ; log . debug ( "Block passed is the same as we are currently processing" ) ; } else { referenced = blk ; } changeLocoSpeed ( t , blockLength , speed ) ; }
target:  Set speed of a throttle to a speeed set by a float, using the block for the length details