@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);
}

@ 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 ) ; }
set speed of a throttle to a speeed set by a float , using the block for the length details
