public static function retrieve(FileSystemCacheKey $key, $newer_than=null) {
		$filename = $key->getFileName();
		
		if(!file_exists($filename)) return false;
		
		//if cached data is not newer than $newer_than
		if($newer_than && filemtime($filename) < $newer_than) return false;

		$fh = self::getFileHandle($filename,'r');
		if(!$fh) return false;
		
		$data = self::getContents($fh,$key);
		if(!$data) return false;


		self::closeFile($fh);		
		return $data->value;
	}