class PropertiesResourceImpl extends ResourceImpl {

	@Override
	public void load(Map<?, ?> options) throws IOException {

		ReentrantReadWriteLock lock = LOCKS
				.getUnchecked(getURI() == null ? "temp" : getURI()
						.toFileString());

		ReadLock readLock = lock.readLock();
		try {
			if (!readLock.tryLock(2, TimeUnit.MINUTES)) {
				LOG.warn("Failed to aquire read lock for {}", getURI());
				readLock = null;
				throw new IOException("Could not load " + getURI());
			}
			super.load(options);
		} catch (InterruptedException e) {
			LOG.warn("Interrupted while trying to aquire read lock for {}",
					getURI());
			throw new IOException("Could not load " + getURI());
		} finally {
			if (readLock != null)
				readLock.unlock();
		}
	}

	public  PropertiesResourceImpl(URI uri);

}