In pre 1.5 releases Click restricted Controls to have names defined.
1.5 made names optional. However certain controls such as Fields and Link's must have names defined, otherwise they throw NPE during request binding.
We need to improve the Controls which must have names defined to throw an exception. A good place to check and throw the exception might be in Control#setParent.