This is legacy code (I just extracted the class from DefaultGlobalHttpProxySettings in order to inherit it also in DefaultGlobalHttpsProxySettings). My guess, Tamas should know more about it) was meant to be able to inherit settings from a parent. E.g. Repository level proxy settings inherit the global level proxy settings. This means that in case that repository level ones are not present, the global ones will be used. 
Indeed it sounds a bit like over-engineering but my guess was they were meant for more then two levels.