retainSurroundingTokens(nodeOrToken) {
		const tokenBefore =
			this.sourceCode.getTokenBefore(nodeOrToken) || nodeOrToken;
		const tokenAfter =
			this.sourceCode.getTokenAfter(nodeOrToken) || nodeOrToken;

		return this.retainRange([tokenBefore.range[0], tokenAfter.range[1]]);
	}
Given a node or token, find the token before and afterward, and mark that
range as retained, meaning that other fixes may not modify it in this
pass. This is useful for avoiding conflicts in fixes that make a small
change to the code where the AST should not be changed.
@param {ASTNode|Token} nodeOrToken The node or token to use as a starting
     point. The token to the left and right are use in the range.
@returns {FixTracker} The same RuleFixer, for chained calls.