private static function getContents($fh,FileSystemCacheKey $key) {
		//get the existing file contents
		$contents = stream_get_contents($fh);
		$data = @unserialize($contents);
		
		//if we can't unserialize the data or if the data is expired
		if(!$data || !($data instanceof FileSystemCacheValue) || $data->isExpired()) {
			//release lock
			self::closeFile($fh);
			
			//delete the cache file so we don't try to retrieve it again
			self::invalidate($key);
			
			return false;
		}
		
		return $data;
	}