Program: 93930
Project: 93930
Buggy source:
private void connect_private(BleTransaction.Auth authenticationTxn,BleTransaction.Init initTxn,final boolean isReconnect){
  if (is_internal(INITIALIZED)) {
    getManager().ASSERT(false,"String_Node_Str");
    return;
  }
  BleTransaction.Auth auth=authenticationTxn != null ? authenticationTxn : m_config.defaultAuthTransaction;
  BleTransaction.Init init=initTxn != null ? initTxn : m_config.defaultInitTransaction;
  m_txnMngr.onConnect(auth,init);
  final Object[] extraBondingStates;
  if (is(UNBONDED) && Utils.isKitKat()) {
    final boolean tryBondingWhileDisconnected=BleDeviceConfig.bool(conf_device().tryBondingWhileDisconnected,conf_mngr().tryBondingWhileDisconnected);
    final boolean tryBondingWhileDisconnected_manageOnDisk=BleDeviceConfig.bool(conf_device().tryBondingWhileDisconnected_manageOnDisk,conf_mngr().tryBondingWhileDisconnected_manageOnDisk);
    final boolean doPreBond=getManager().m_diskOptionsMngr.loadNeedsBonding(getMacAddress(),tryBondingWhileDisconnected_manageOnDisk);
    if (doPreBond && tryBondingWhileDisconnected) {
      bond_justAddTheTask(E_TransactionLockBehavior.PASSES);
      extraBondingStates=P_BondManager.OVERRIDE_BONDING_STATES;
    }
 else {
      extraBondingStates=P_BondManager.OVERRIDE_EMPTY_STATES;
    }
  }
 else {
    extraBondingStates=P_BondManager.OVERRIDE_EMPTY_STATES;
  }
  onConnecting(true,isReconnect,extraBondingStates,false);
  if (!is_internal(CONNECTING_OVERALL)) {
    return;
  }
  queue().add(new P_Task_Connect(this,m_taskStateListener));
  onConnecting(true,isReconnect,extraBondingStates,true);
}

Fixed version (ground truth):
private void connect_private(BleTransaction.Auth authenticationTxn,BleTransaction.Init initTxn,final boolean isReconnect){
  if (is_internal(INITIALIZED)) {
    getManager().ASSERT(false,"String_Node_Str");
    return;
  }
  BleTransaction.Auth auth=authenticationTxn != null ? authenticationTxn : conf_device().defaultAuthTransaction;
  BleTransaction.Init init=initTxn != null ? initTxn : conf_device().defaultInitTransaction;
  m_txnMngr.onConnect(auth,init);
  final Object[] extraBondingStates;
  if (is(UNBONDED) && Utils.isKitKat()) {
    final boolean tryBondingWhileDisconnected=BleDeviceConfig.bool(conf_device().tryBondingWhileDisconnected,conf_mngr().tryBondingWhileDisconnected);
    final boolean tryBondingWhileDisconnected_manageOnDisk=BleDeviceConfig.bool(conf_device().tryBondingWhileDisconnected_manageOnDisk,conf_mngr().tryBondingWhileDisconnected_manageOnDisk);
    final boolean doPreBond=getManager().m_diskOptionsMngr.loadNeedsBonding(getMacAddress(),tryBondingWhileDisconnected_manageOnDisk);
    if (doPreBond && tryBondingWhileDisconnected) {
      bond_justAddTheTask(E_TransactionLockBehavior.PASSES);
      extraBondingStates=P_BondManager.OVERRIDE_BONDING_STATES;
    }
 else {
      extraBondingStates=P_BondManager.OVERRIDE_EMPTY_STATES;
    }
  }
 else {
    extraBondingStates=P_BondManager.OVERRIDE_EMPTY_STATES;
  }
  onConnecting(true,isReconnect,extraBondingStates,false);
  if (!is_internal(CONNECTING_OVERALL)) {
    return;
  }
  queue().add(new P_Task_Connect(this,m_taskStateListener));
  onConnecting(true,isReconnect,extraBondingStates,true);
}