making it work with protected properties with private setters

 - (i.e. getting around the null setter issue)