Sto guardando la classe 
System.Collections.Specialized.NameObjectCollectionBase e le sue 
classi derivate e non capisco la ragione del prefisso "
Base" di alcuni suoi metodi protected (
BaseAdd, 
BaseClear, 
BaseGet, 
BaseGetAllKeys, 
BaseGetAllValues, 
BaseGetKey, 
BaseHasKeys, 
BaseRemove, 
BaseRemoveAt, 
BaseSet). Questi metodi sono richiamati dai loro metodi corrispondenti (
Add, 
Clear, 
Get, 
GetAllKeys, 
GetAllValues, 
GetKey, 
HasKeys, 
Remove, 
RemoveAt, 
Set) nelle classi derivate ma, secondo me, queste richiamate andavano fatte come 
base.Method() anziché 
BaseMethod() e i metodi di forma 
BaseMethod nella classe base rinominati 
Method. In più, 
NameObjectCollectionBase sembra l'unica classe che abbia questo pattern strano.
Un po' di 
refactoring o qualcosa mi sfugge?