public function watermark($file, $position = Image::WATERMARK_TOP_LEFT, $opacity = 100): Image
	{
		// Check if the image exists

		if(file_exists($file) === false)
		{
			throw new RuntimeException(vsprintf('The watermark image [ %s ] does not exist.', [$file]));
		}

		// Make sure that opacity is between 0 and 100

		$opacity = max(min((int) $opacity, 100), 0);

		// Add watermark to the image

		$this->processor->watermark($file, $position, $opacity);

		return $this;
	}