Gson - Configurando referência de objeto rapidamente usando InstanceCreator

Estou preso em um problema em que preciso definir a referência do meu objeto sendo analisado para seus objetos filhos durante a desserialização usandoGson eInstanceCreator.

Para representar o problema, a seguir é apresentada uma representação simples da estrutura das classes.

public class Workshift {
    private final transient Context context;
    private final Visit visit;

    public Workshift(Context context) {
        this.context = context;
        this.visit = new Visit(this);
    }
}

public class Visit {
    private final transient Workshift workshift;

    public Visit(Workshift ws) {
        this.workshift = ws;
    }
}

Com essa estrutura, eu sou capaz de definirContext noWorkshift fornecendo umaInstanceCreator para o meuGsonBuilder, por exemplo:

Gson gson = new GsonBuilder()
    .registerTypeAdapter(Workshift.class, new InstanceCreator<Workshift>() {
        @Override
        public Workshift createInstance(Type type) {
            return new Workshift(context);
        }
    })
    .create();

Eu sei, posso adicionar maisInstanceCreator para o meuGsonBuilder, mas não sei como fornecer uma referência do meuWorkshift objeto em processo de análise (on-the-fly) paraVisit objeto?

Qualquer ajuda seria apreciada!

questionAnswers(2)

yourAnswerToTheQuestion