public function join(RelativePathInterface $path)
    {
        if ($path instanceof RelativeWindowsPathInterface) {
            if (!$this->matchesDriveOrNull($this->pathDriveSpecifier($path))) {
                throw new Exception\DriveMismatchException(
                    $this->drive(),
                    $path->drive()
                );
            }

            if ($path->isAnchored()) {
                return $path->joinDrive($this->drive());
            }
        }

        return parent::join($path);
    }