void retain(Object owner,Field field){
  retain();
  Map<String,Integer> fields=owners.get(owner);
  if (fields == null) {
    fields=new HashMap<>();
    owners.put(owner,fields);
  }
  Integer count=fields.get(field.toGenericString());
  if (count == null) {
    fields.put(field.toGenericString(),1);
  }
 else {
    count++;
    fields.put(field.toGenericString(),count);
  }
}

void retain ( Object owner , Field field ) { retain ( ) ; Map < String , Integer > fields = owners . get ( owner ) ; if ( fields == null ) { fields = new HashMap < > ( ) ; owners . put ( owner , fields ) ; } Integer count = fields . get ( field . toGenericString ( ) ) ; if ( count == null ) { fields . put ( field . toGenericString ( ) , 1 ) ; } else { count ++ ; fields . put ( field . toGenericString ( ) , count ) ; } }
retain an instance injected as a field of an object
