code: protected function applyFix(\SplFileInfo $file, Tokens $tokens)
      {
          $lineEnding = $this->whitespacesConfig->getLineEnding();
          $tokenKinds = array_values($this->fixTokenMap);
          $analyzer = new TokensAnalyzer($tokens);
  
          for ($index = 0, $limit = $tokens->count(); $index < $limit; ++$index) {
              $token = $tokens[$index];
  
              if (!$token->isGivenKind($tokenKinds) || ($token->isGivenKind(T_WHILE) && $analyzer->isWhilePartOfDoWhile($index))) {
                  continue;
              }
  
              $prevNonWhitespaceToken = $tokens[$tokens->getPrevNonWhitespace($index)];
  
              if (!$prevNonWhitespaceToken->equalsAny([';', '}'])) {
                  continue;
              }
  
              $prevIndex = $index - 1;
              $prevToken = $tokens[$prevIndex];
  
              if ($prevToken->isWhitespace()) {
                  $countParts = substr_count($prevToken->getContent(), "\n");
  
                  if (0 === $countParts) {
                      $tokens[$prevIndex] = new Token([T_WHITESPACE, rtrim($prevToken->getContent(), " \t").$lineEnding.$lineEnding]);
                  } elseif (1 === $countParts) {
                      $tokens[$prevIndex] = new Token([T_WHITESPACE, $lineEnding.$prevToken->getContent()]);
                  }
              } else {
                  $tokens->insertAt($index, new Token([T_WHITESPACE, $lineEnding.$lineEnding]));
  
                  ++$index;
                  ++$limit;
              }
          }
      }
docs: {@inheritdoc}