This is a little confusing - getDescriptors doesn't actually get all descriptors - it simply adds to those returned by that call to getDescriptorsAddedInConstructor.

Perhaps you could clean this up a little? Perhaps a single "getPropertyDescriptors(Obj)"?