code: @Override
  	public void removeByResource(Resource resource) {
  		checkNotNull(resource,"Resource cannot be null");
  		this.lock.writeLock().lock();
  		try {
  			ResourceId resourceId = resource.id();
  			for(String constraintsId:this.failureIds.get(resourceId)) {
  				this.reports.remove(ConstraintReportId.create(resourceId, constraintsId));
  			}
  			this.failureIds.removeAll(resourceId);
  		} finally {
  			this.lock.writeLock().unlock();
  		}
  	}
docs: {@inheritDoc}