@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();
		}
	}
@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();
		}
	}
@ 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 ( ) ; } }
{@inheritDoc}
{