Program: 86774
Project: 86774
Buggy source:
@Override public void handleUserCommand(int keys,float orientation){
  if (isOperatingVehicle()) {
    if (Keys.USE.isDown(previousKeys) && !Keys.USE.isDown(keys)) {
      if (currentState == State.OPERATING_VEHICLE) {
        leaveVehicle();
      }
    }
 else {
      if (currentState == State.OPERATING_VEHICLE) {
        this.operating.handleUserCommand(keys,orientation);
      }
    }
    previousKeys=keys;
  }
 else {
    if (Keys.FIRE.isDown(keys)) {
      firing=true;
    }
 else     if (Keys.FIRE.isDown(previousKeys)) {
      endFire();
      firing=false;
    }
    if (Keys.THROW_GRENADE.isDown(keys)) {
      pullGrenadePin();
    }
    if (Keys.THROW_GRENADE.isDown(previousKeys) && !Keys.THROW_GRENADE.isDown(keys)) {
      throwGrenade();
    }
    if (Keys.USE.isDown(keys)) {
      use();
    }
 else {
      unuse();
    }
    if (Keys.MELEE_ATTACK.isDown(keys)) {
      meleeAttack();
    }
 else     if (Keys.MELEE_ATTACK.isDown(previousKeys)) {
      doneMeleeAttack();
    }
    if (Keys.DROP_WEAPON.isDown(previousKeys) && !Keys.DROP_WEAPON.isDown(keys)) {
      dropItem(true);
    }
    if (Keys.RELOAD.isDown(keys)) {
      reload();
    }
    if (Keys.WALK.isDown(keys)) {
      walk();
    }
 else {
      stopWalking();
    }
    if (Keys.UP.isDown(keys)) {
      moveUp();
    }
 else     if (Keys.DOWN.isDown(keys)) {
      moveDown();
    }
 else {
      noMoveY();
    }
    if (Keys.LEFT.isDown(keys)) {
      moveLeft();
    }
 else     if (Keys.RIGHT.isDown(keys)) {
      moveRight();
    }
 else {
      noMoveX();
    }
    if (Keys.SPRINT.isDown(keys)) {
      if (!inputVel.isZero() && currentState != State.WALKING) {
        sprint();
      }
    }
 else {
      stopSprinting();
    }
    if (Keys.CROUCH.isDown(keys)) {
      crouch();
    }
 else {
      standup();
    }
    if (Keys.WEAPON_SWITCH_UP.isDown(keys)) {
      nextWeapon();
    }
 else     if (Keys.WEAPON_SWITCH_DOWN.isDown(keys)) {
      prevWeapon();
    }
    if (previousOrientation != orientation) {
      setOrientation(orientation);
    }
    this.previousKeys=keys;
    this.previousOrientation=orientation;
  }
}

Fixed version (ground truth):
@Override public void handleUserCommand(int keys,float orientation){
  if (isOperatingVehicle()) {
    if (Keys.USE.isDown(previousKeys) && !Keys.USE.isDown(keys)) {
      if (currentState == State.OPERATING_VEHICLE && !this.operating.isMoving()) {
        leaveVehicle();
      }
    }
 else {
      if (currentState == State.OPERATING_VEHICLE) {
        this.operating.handleUserCommand(keys,orientation);
      }
    }
    previousKeys=keys;
  }
 else {
    if (Keys.FIRE.isDown(keys)) {
      firing=true;
    }
 else     if (Keys.FIRE.isDown(previousKeys)) {
      endFire();
      firing=false;
    }
    if (Keys.THROW_GRENADE.isDown(keys)) {
      pullGrenadePin();
    }
    if (Keys.THROW_GRENADE.isDown(previousKeys) && !Keys.THROW_GRENADE.isDown(keys)) {
      throwGrenade();
    }
    if (Keys.USE.isDown(keys)) {
      use();
    }
 else {
      unuse();
    }
    if (Keys.MELEE_ATTACK.isDown(keys)) {
      meleeAttack();
    }
 else     if (Keys.MELEE_ATTACK.isDown(previousKeys)) {
      doneMeleeAttack();
    }
    if (Keys.DROP_WEAPON.isDown(previousKeys) && !Keys.DROP_WEAPON.isDown(keys)) {
      dropItem(true);
    }
    if (Keys.RELOAD.isDown(keys)) {
      reload();
    }
    if (Keys.WALK.isDown(keys)) {
      walk();
    }
 else {
      stopWalking();
    }
    if (Keys.UP.isDown(keys)) {
      moveUp();
    }
 else     if (Keys.DOWN.isDown(keys)) {
      moveDown();
    }
 else {
      noMoveY();
    }
    if (Keys.LEFT.isDown(keys)) {
      moveLeft();
    }
 else     if (Keys.RIGHT.isDown(keys)) {
      moveRight();
    }
 else {
      noMoveX();
    }
    if (Keys.SPRINT.isDown(keys)) {
      if (!inputVel.isZero() && currentState != State.WALKING) {
        sprint();
      }
    }
 else {
      stopSprinting();
    }
    if (Keys.CROUCH.isDown(keys)) {
      crouch();
    }
 else {
      standup();
    }
    if (Keys.WEAPON_SWITCH_UP.isDown(keys)) {
      nextWeapon();
    }
 else     if (Keys.WEAPON_SWITCH_DOWN.isDown(keys)) {
      prevWeapon();
    }
    if (previousOrientation != orientation) {
      setOrientation(orientation);
    }
    this.previousKeys=keys;
    this.previousOrientation=orientation;
  }
}