Sets the image's colorspace. This is typical 'RGB' or 'GRAY', but
        may be other things, depending on your choice of Engine.

        :param PIL.Image image: The image whose colorspace to adjust.
        :param str colorspace: One of either 'RGB' or 'GRAY'.
        :rtype: PIL.Image
        :returns: The colorspace-adjusted image.

def _colorspace(self, image, colorspace):
        """
        Sets the image's colorspace. This is typical 'RGB' or 'GRAY', but
        may be other things, depending on your choice of Engine.

        :param PIL.Image image: The image whose colorspace to adjust.
        :param str colorspace: One of either 'RGB' or 'GRAY'.
        :rtype: PIL.Image
        :returns: The colorspace-adjusted image.
        """
        if colorspace == 'RGB':
            if image.mode == 'RGBA':
                # RGBA is just RGB + Alpha
                return image
            if image.mode == 'P' and 'transparency' in image.info:
                return image.convert('RGBA')
            return image.convert('RGB')
        if colorspace == 'GRAY':
            return image.convert('L')
        return image