Button debouncing help

Hi guys I don't suppose anyone could help me understand this slide and the missing line of code. Really confused about it

Debouncing

Debounce code example cane be found with your local Arduino IDE by using the mouse and moving and clicking and things:

@xytan
This is your sketch along with the schematic of SW1 (Fig-1).

#define SW1 A0
bool b;

void setup()
{
  pinMode(SW1, INPUT_PULLUP);
  b = HIGH;//true; indicates OPEN condition/state of SW1
}

void loop()
{
  unsigned char count;
  if (b != digitalRead(SW1))
  {
    for (count = 0; count < 20 && b != digitalRead(SW1); count++)
    {
      ;
    }
    b = ((count >= 20 && b != digitalRead(SW1)) ? !b : b);
    if (!b)
    {
      /* you need to fill this in */ //button is pushed
    }
  }
}

sw1A0
Figure-1:

1. To read the state (open or close condition) of SW1, we execute the following code:

b = digitalRead(SW1);    //b = LOW when SW1 is closed

2. The argument of the following if() structure will be evaluated to true when SW1 is closed.

if(b != digitalRead(SW1))

3. If SW1 is found closed, then wait (the MCU is blocked and is unable to do any other task) until SW1 is found closed for next 20 times, which means allow time for the debouncing of SW1. This conditional requirement has been implemented by the following codes in your sketh.

if (b != digitalRead(SW1))
{
   for (count = 0; count < 20 && b != digitalRead(SW1); count++)
   {
     ;
   }

4. If SW1 is found closed for 20 times. then assign LOW (!b = !HIGH = LOW)) to b; else, assign HIGH (the initialized value of b) to b. This requirement has been imlemented by the following ternary operator.

 b = ((count >= 20 && b != digitalRead(SW1)) ? !b : b);

5. Since SW1 has been found closed (after debouncing), the value of !b will appear as HIGH meaning SW1 is closed (pushed). We may correctly put the following codes in the sketch.

if (!b)
{
      Serial.println("The state of debounced SW1 is CLOSED"); //button is pushed
      while(1);  //wait for ever
 }