code: protected function applyFix(\SplFileInfo $file, Tokens $tokens)
      {
          $argumentsAnalyzer = new ArgumentsAnalyzer();
  
          foreach ($this->configuration['replacements'] as $functionIdentity => $functionReplacement) {
              if ($functionIdentity === $functionReplacement['alternativeName']) {
                  continue;
              }
  
              $currIndex = 0;
              while (null !== $currIndex) {
                  // try getting function reference and translate boundaries for humans
                  $boundaries = $this->find($functionIdentity, $tokens, $currIndex, $tokens->count() - 1);
                  if (null === $boundaries) {
                      // next function search, as current one not found
                      continue 2;
                  }
  
                  list($functionName, $openParenthesis, $closeParenthesis) = $boundaries;
                  $count = $argumentsAnalyzer->countArguments($tokens, $openParenthesis, $closeParenthesis);
                  if (!\in_array($count, $functionReplacement['argumentCount'], true)) {
                      continue 2;
                  }
  
                  // analysing cursor shift, so nested calls could be processed
                  $currIndex = $openParenthesis;
  
                  $tokens[$functionName] = new Token([T_STRING, $functionReplacement['alternativeName']]);
  
                  if (0 === $count && 'random_int' === $functionReplacement['alternativeName']) {
                      $tokens->insertAt($currIndex + 1, [
                          new Token([T_LNUMBER, '0']),
                          new Token(','),
                          new Token([T_WHITESPACE, ' ']),
                          new Token([T_STRING, 'getrandmax']),
                          new Token('('),
                          new Token(')'),
                      ]);
  
                      $currIndex += 6;
                  }
              }
          }
      }
docs: {@inheritdoc}