code: protected <T extends Serializable> void postSerializer(T serializableObject, Map<String, Object> objReferences) {
          for(Field field : ReflectionMethods.getAllFields(new LinkedList<>(), serializableObject.getClass())) {
              String fieldName = field.getName();
  
              Object ref = objReferences.remove(fieldName);
              if(ref != null) { //if a reference is found in the map
                  field.setAccessible(true);
  
                  try {
                      //restore the reference in the object
                      field.set(serializableObject, ref);
                  }
                  catch (IllegalAccessException ex) {
                      throw new RuntimeException(ex);
                  }
              }
          }
      }
docs: This method is called after the object serialization. It moves all the not-serializable BigMap references from
  the Map back to the provided object. The main idea is that once the serialization is completed, we are allowed to
  restore back all the references which were removed by the preSerializer.
  
  @param serializableObject
  @param objReferences
  @param <T>