Why have value as a parametrized type when it is an Object ?