private function getRotatedCharacter($character, $rotationAmount)
    {
        $alphabetSize = $this->getAlphabetSize();

        $positionInAlphabet = mb_stripos(self::ALPHABET, $character);

        if (false === $positionInAlphabet) {
            $rotatedCharacter = $character;
        } else {
            $newCharacterOffset = (($positionInAlphabet + $rotationAmount + $alphabetSize) % $alphabetSize)
                - $positionInAlphabet;

            $rotatedCharacter = \chr(\ord($character) + $newCharacterOffset);
        }

        return $rotatedCharacter;
    }