code: private void recordVisitField(Object object, Field objectField, Field field) {
          Map<String, Set<String>> bag = visitedFields.get(object);
          if (bag == null) {
              bag = new HashMap<>();
              visitedFields.put(object, bag);
          }
          Set<String> fields = bag.get(objectField);
  
          String objectFiledKey = objectField == null ? "" : objectField.toGenericString();
  
          if (fields == null) {
              fields = new HashSet<>();
              bag.put(objectFiledKey, fields);
          }
          fields.add(field.toGenericString());
      }
docs: Records the field of a target object is visited
  
  @param object      The field holder
  @param objectField The field which holds the object in its parent
  @param field       The field of the holder