handle private and protected properties; make sure property methods have no args; don't add @Transient if already annotated; don't add @JoinTable when mappedBy is used
try to link peer fields