This change means doGetConfiguration is no longer called while holding a lock... you'd need to check downstream extensions of this class to see if this affects them. Alternatively you could use double-checked locking (valid in Java5) to avoid synchronization when the configuration is already populated, but still retain it while constructing+enhancing the configuration:
```java
if (configuration == null) {
  synchronized (this) {
    if (configuration == null) {
      configuration = new EnhancedConfiguration( doGetConfiguration() );
    }
  }
}
return configuration;
```