diff --git a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java index e2c47459d..4f929bb68 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java +++ b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java @@ -41,7 +41,6 @@ public final class BeanValueContext extends ValueContext { BeanValueContext(ValueContext parentContext, ExecutableParameterNameProvider parameterNameProvider, T currentBean, BeanMetaData currentBeanMetaData, MutablePath propertyPath) { super( parentContext, parameterNameProvider, currentBean, currentBeanMetaData, propertyPath ); this.currentBeanMetaData = currentBeanMetaData; - this.alreadyProcessedGroups = new HashSet<>(); } public BeanMetaData getCurrentBeanMetaData() { diff --git a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java index 31617f3d7..05de9d080 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java +++ b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java @@ -147,7 +147,9 @@ public final void setTypeParameter(Class containerClass, Integer typeParamete } public final void setCurrentGroup(Class currentGroup) { - this.previousGroup = this.currentGroup; + if ( this.previousGroup != this.currentGroup ) { + this.previousGroup = this.currentGroup; + } this.currentGroup = currentGroup; }