code: private function getPreviousUnsetCall(Tokens $tokens, $index)
      {
          $previousUnsetSemicolon = $tokens->getPrevMeaningfulToken($index);
          if (null === $previousUnsetSemicolon) {
              return $index;
          }
  
          if (!$tokens[$previousUnsetSemicolon]->equals(';')) {
              return $previousUnsetSemicolon;
          }
  
          $previousUnsetBraceEnd = $tokens->getPrevMeaningfulToken($previousUnsetSemicolon);
          if (null === $previousUnsetBraceEnd) {
              return $index;
          }
  
          if (!$tokens[$previousUnsetBraceEnd]->equals(')')) {
              return $previousUnsetBraceEnd;
          }
  
          $previousUnsetBraceStart = $tokens->findBlockStart(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $previousUnsetBraceEnd);
          $previousUnset = $tokens->getPrevMeaningfulToken($previousUnsetBraceStart);
          if (null === $previousUnset) {
              return $index;
          }
  
          if (!$tokens[$previousUnset]->isGivenKind(T_UNSET)) {
              return $previousUnset;
          }
  
          return [
              $previousUnset,
              $previousUnsetBraceStart,
              $previousUnsetBraceEnd,
              $previousUnsetSemicolon,
          ];
      }
docs: Find a previous call to unset directly before the index.
  
  Returns an array with
  * unset index
  * opening brace index
  * closing brace index
  * end semicolon index
  
  Or the index to where the method looked for an call.
  
  @param Tokens $tokens
  @param int    $index
  
  @return int|int[]