Buggy code:
@ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setEvictionStrategy" ) protected EvictionStrategy strategy = EvictionStrategy . NONE ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setEvictionMaxEntries" ) protected Integer maxEntries = - 1 ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setEvictionThreadPolicy" ) protected EvictionThreadPolicy threadPolicy = EvictionThreadPolicy . DEFAULT ; public void accept ( ConfigurationBeanVisitor v ) { } @ XmlAttribute @ Deprecated public Long getWakeUpInterval ( ) { } @ Deprecated public void setWakeUpInterval ( Long wakeUpInterval ) { } @ XmlAttribute public EvictionStrategy getStrategy ( ) { } @ Deprecated public void setStrategy ( EvictionStrategy strategy ) { } @ Override public EvictionConfig strategy ( EvictionStrategy strategy ) { } @ XmlAttribute public EvictionThreadPolicy getThreadPolicy ( ) { } @ Deprecated public void setThreadPolicy ( EvictionThreadPolicy threadPolicy ) { } @ Override public EvictionConfig threadPolicy ( EvictionThreadPolicy threadPolicy ) { } @ XmlAttribute public Integer getMaxEntries ( ) { } @ Deprecated public void setMaxEntries ( Integer maxEntries ) { } @ Override public EvictionConfig maxEntries ( Integer maxEntries ) { } @ Override protected Configuration . EvictionType setConfiguration ( Configuration config ) { } @ Override public boolean equals ( Object o ) { } @ Override public int hashCode ( ) { } } @ XmlAccessorType ( XmlAccessType . PROPERTY ) @ ConfigurationDoc ( name = "dataContainer" ) @ Deprecated public static class DataContainerType extends AbstractFluentConfigurationBean implements DataContainerConfig { private static final long serialVersionUID = - 959027510815676570L ; @ ConfigurationDocRef ( name = "class" , bean = Configuration . class , targetElement = "getDataContainerClass" ) protected String dataContainerClass = DefaultDataContainer . class . getName ( ) ; @ XmlElement ( name = "properties" ) protected TypedProperties properties = new TypedProperties ( ) ; protected DataContainer dataContainer ; public void accept ( ConfigurationBeanVisitor v ) { } @ XmlAttribute ( name = "class" ) public String getDataContainerClass ( ) { } private Configuration . DataContainerType setDataContainerClass ( String dataContainerClass ) { } @ Override public DataContainerConfig dataContainerClass ( Class < ? extends DataContainer > dataContainerClass ) { } public DataContainerConfig withProperties ( Properties properties ) { } @ Override public DataContainerConfig addProperty ( String key , String value ) { } @ Override public DataContainerConfig dataContainer ( DataContainer dataContainer ) { } @ Override protected Configuration . DataContainerType setConfiguration ( Configuration config ) { } @ Override public boolean equals ( Object o ) { } @ Override public int hashCode ( ) { } } @ XmlAccessorType ( XmlAccessType . PROPERTY ) @ ConfigurationDoc ( name = "stateRetrieval" ) @ Deprecated public static class StateRetrievalType extends AbstractFluentConfigurationBean implements StateRetrievalConfig { private static final long serialVersionUID = 3709234918426217096L ; @ Dynamic @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setFetchInMemoryState" ) protected Boolean fetchInMemoryState = false ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setAlwaysProvideInMemoryState" ) protected Boolean alwaysProvideInMemoryState = false ; @ Dynamic @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setStateRetrievalTimeout" ) protected Long timeout = 240000L ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setStateRetrievalInitialRetryWaitTime" ) protected Long initialRetryWaitTime = 500L ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setStateRetrievalRetryWaitTimeIncreaseFactor" ) protected Integer retryWaitTimeIncreaseFactor = 2 ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setStateRetrievalNumRetries" ) protected Integer numRetries = 5 ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setStateRetrievalLogFlushTimeout" ) protected Long logFlushTimeout = 60000L ; @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setStateRetrievalMaxNonProgressingLogWrites" ) protected Integer maxNonProgressingLogWrites = 100 ; public void accept ( ConfigurationBeanVisitor v ) { } @ XmlAttribute public Boolean isFetchInMemoryState ( ) { } @ Deprecated public void setFetchInMemoryState ( Boolean fetchInMemoryState ) { } @ Override public StateRetrievalConfig fetchInMemoryState ( Boolean fetchInMemoryState ) { } @ XmlAttribute public Boolean isAlwaysProvideInMemoryState ( ) { } @ Deprecated public void setAlwaysProvideInMemoryState ( Boolean alwaysProvideInMemoryState ) { } @ Override public StateRetrievalConfig alwaysProvideInMemoryState ( Boolean alwaysProvideInMemoryState ) { } @ XmlAttribute public Long getInitialRetryWaitTime ( ) { } @ Deprecated public void setInitialRetryWaitTime ( Long initialRetryWaitTime ) { <START_BUG> testImmutability ( "initialWaitTime" ) ; <END_BUG> this . initialRetryWaitTime = initialRetryWaitTime ; } @ Override public StateRetrievalConfig initialRetryWaitTime ( Long initialRetryWaitTime ) { } @ XmlAttribute public Integer getRetryWaitTimeIncreaseFactor ( ) { } @ Deprecated public void setRetryWaitTimeIncreaseFactor ( Integer retryWaitTimeIncreaseFactor ) { } @ Override public StateRetrievalConfig retryWaitTimeIncreaseFactor ( Integer retryWaitTimeIncreaseFactor ) { } @ XmlAttribute public Integer getNumRetries ( ) { } @ Deprecated public void setNumRetries ( Integer numRetries ) { } @ Override public StateRetrievalConfig numRetries ( Integer numRetries ) { } @ XmlAttribute public Long getTimeout ( ) { } @ Deprecated public void setTimeout ( Long timeout ) { } @ Override public StateRetrievalConfig timeout ( Long timeout ) { } @ XmlAttribute public Long getLogFlushTimeout ( ) { } @ Deprecated public void setLogFlushTimeout ( Long logFlushTimeout ) { } @ Override public StateRetrievalConfig logFlushTimeout ( Long logFlushTimeout ) { } @ XmlAttribute public Integer getMaxNonProgressingLogWrites ( ) { } @ Deprecated public void setMaxNonProgressingLogWrites ( Integer maxNonProgressingLogWrites ) { } @ Override public StateRetrievalConfig maxNonProgressingLogWrites ( Integer maxNonProgressingLogWrites ) { } @ Override public boolean equals ( Object o ) { } @ Override public int hashCode ( ) { } } @ XmlAccessorType ( XmlAccessType . PROPERTY ) @ ConfigurationDoc ( name = "sync" ) @ Deprecated public static class SyncType extends AbstractFluentConfigurationBean implements SyncConfig { private static final long serialVersionUID = 8419216253674289524L ; @ Dynamic @ ConfigurationDocRef ( bean = Configuration . class , targetElement = "setSyncReplTimeout" ) protected Long replTimeout = 15000L ; @ XmlTransient private boolean unmarshalledFromXml = false ; public void accept ( ConfigurationBeanVisitor v ) { } @ XmlAttribute public Long getReplTimeout ( ) { }

Fix:
testImmutability ( "initialRetryWaitTime" ) ;