protected function getReaderWrapper($content) {
		if (!$content) {
			$content = $this->source;
		}

		$reader = null;
		
		if (is_resource($content)) {
			$data = null;
			while (!feof($content)) {
				$data .= fread($content, 8192);
			}
			fclose($content);
			$reader = new RawContentReader($data);
		} else if ($content instanceof ContentReader) {
			$reader = $content;
		} else if (is_string($content)) {
			// assumed to be a file
			if (file_exists($content) && is_readable($content)) {
				// naughty, but it's the exception that proves the rule...
				$reader = new FileContentReader($content);
			} else {
				$reader = new RawContentReader($content);
			}
		}

		return $reader;
	}