The constructor can not do it because the constructor does not have all the data. This is lazy evaluation.