code: protected function applyFix(\SplFileInfo $file, Tokens $tokens)
      {
          $argumentsAnalyzer = new ArgumentsAnalyzer();
  
          foreach ($this->configuration['assertions'] as $methodBefore) {
              $methodAfter = self::$assertionMap[$methodBefore];
  
              for ($index = 0, $limit = $tokens->count(); $index < $limit; ++$index) {
                  $methodIndex = $tokens->getNextTokenOfKind($index, [[T_STRING, $methodBefore]]);
  
                  if (null === $methodIndex) {
                      break;
                  }
  
                  $operatorIndex = $tokens->getPrevMeaningfulToken($methodIndex);
                  $referenceIndex = $tokens->getPrevMeaningfulToken($operatorIndex);
                  if (
                      !($tokens[$operatorIndex]->equals([T_OBJECT_OPERATOR, '->']) && $tokens[$referenceIndex]->equals([T_VARIABLE, '$this']))
                      && !($tokens[$operatorIndex]->equals([T_DOUBLE_COLON, '::']) && $tokens[$referenceIndex]->equals([T_STRING, 'self']))
                      && !($tokens[$operatorIndex]->equals([T_DOUBLE_COLON, '::']) && $tokens[$referenceIndex]->equals([T_STATIC, 'static']))
                  ) {
                      continue;
                  }
  
                  $openingParenthesisIndex = $tokens->getNextMeaningfulToken($methodIndex);
                  $argumentsCount = $argumentsAnalyzer->countArguments(
                      $tokens,
                      $openingParenthesisIndex,
                      $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $openingParenthesisIndex)
                  );
  
                  if (2 === $argumentsCount || 3 === $argumentsCount) {
                      $tokens[$methodIndex] = new Token([T_STRING, $methodAfter]);
                  }
  
                  $index = $methodIndex;
              }
          }
      }
docs: {@inheritdoc}