diff --git a/src/core/lombok/core/configuration/BubblingConfigurationResolver.java b/src/core/lombok/core/configuration/BubblingConfigurationResolver.java index 5673d9a8..440d7b68 100644 --- a/src/core/lombok/core/configuration/BubblingConfigurationResolver.java +++ b/src/core/lombok/core/configuration/BubblingConfigurationResolver.java @@ -30,14 +30,16 @@ import lombok.core.configuration.ConfigurationSource.Result; public class BubblingConfigurationResolver implements ConfigurationResolver { - private final List sources; + private static final ConfigurationKey STOP_BUBBLING = new ConfigurationKey("stop-bubbling") {}; - public BubblingConfigurationResolver(List sources) { + private final Iterable sources; + + public BubblingConfigurationResolver(Iterable sources) { this.sources = sources; } - @SuppressWarnings("unchecked") - @Override + @SuppressWarnings("unchecked") + @Override public T resolve(ConfigurationKey key) { boolean isList = key.getType().isList(); List listModifications = null; @@ -57,6 +59,8 @@ public class BubblingConfigurationResolver implements ConfigurationResolver { } return result.getValue(); } + Result stop = source.resolve(STOP_BUBBLING); + if (stop != null && Boolean.TRUE.equals(stop.getValue())) break; } if (!isList) { return null;