throw new IOException("ReliableFile is corrupt");
	synchronized InputStream getInputStream() throws IOException {		try {			lock();		} catch (IOException e) {			/* the lock request failed; decrement the use count */			release();			throw e;		}		try {			BufferedInputStream bis = recoverFile();			if (bis == null)				return new FileInputStream(orgFile.getPath());			else				return bis; // don't double read file from storage		} catch (IOException e) {			unlock();			release();			throw e;		}	}