framework/application/kernel/mem/src/main/java/org/ldp4j/application/kernel/impl/InMemoryResourceRepository.java
@Override
	public void add(Resource resource) {
		checkNotNull(resource,"Resource cannot be null");
		lock.writeLock().lock();
		try {
			checkState(find(resource.id())==null,"A resource with identifier '%s' already exists",resource.id());
			resource.accept(
				new ResourceVisitor() {
					@Override
					public void visitResource(Resource resource) {
						InMemoryResourceRepository.this.resources.put(resource.id(),resource);
					}
					@Override
					public void visitContainer(Container resource) {
						InMemoryResourceRepository.this.containers.put(resource.id(),resource);
					}
				}
			);
		} finally {
			lock.writeLock().unlock();
		}
	}
@Override
	public void add(Resource resource) {
		checkNotNull(resource,"Resource cannot be null");
		lock.writeLock().lock();
		try {
			checkState(find(resource.id())==null,"A resource with identifier '%s' already exists",resource.id());
			resource.accept(
				new ResourceVisitor() {
					@Override
					public void visitResource(Resource resource) {
						InMemoryResourceRepository.this.resources.put(resource.id(),resource);
					}
					@Override
					public void visitContainer(Container resource) {
						InMemoryResourceRepository.this.containers.put(resource.id(),resource);
					}
				}
			);
		} finally {
			lock.writeLock().unlock();
		}
	}
{@inheritDoc}