A DecoratorPattern on SingletonDecorator.

public class SingletonDecorator implements Singleton {
	
	private Singleton singleton;
	private static String DEFAULT = "ConcreteSingleton1";
	
	private static String getDefault() {
	return DEFAULT;
	}
	
	public SingletonDecorator() {
	this(getDefault());
	}
	
	public SingletonDecorator(final String which) {
	this(SingletonRegistry.getSingleton(which));
	}
	
	public SingletonDecorator(final Singleton singleton) {
	this.singleton = singleton;
	}
	
	public Singleton getInstance() {
	return singleton;
	}
	
	// decorator interfaced methods.
}

SingletonRegistry is just a facade for Singleton creation.