def METHOD_NAME(self, crop_coord, tile_size):
    """
    Return the cropped tile.
    :param crop_coord: the upper left pixel coord to start
    :param tile_size: width and height of the new tile
    :rtype: `ImageSource`
    """
    minx, miny = crop_coord
    maxx = minx + tile_size[0]
    maxy = miny + tile_size[1]
    if (minx < 0 or miny < 0 or maxx > self.meta_img.size[0]
        or maxy > self.meta_img.size[1]):
        crop = self.meta_img.crop((
            max(minx, 0),
            max(miny, 0),
            min(maxx, self.meta_img.size[0]),
            min(maxy, self.meta_img.size[1])))
        result = create_image(tile_size, self.image_opts)
        result.paste(crop, (abs(min(minx, 0)), abs(min(miny, 0))))
        crop = result
    else:
        crop = self.meta_img.crop((minx, miny, maxx, maxy))
    return ImageSource(crop, size=tile_size, image_opts=self.image_opts)