Como resolver uma dependência circular enquanto ainda usa o Dagger2?

Eu tenho duas aulasFoo<T> eBar, que dependem um do outro e de várias outras classes. Estou usando o Dagger-2 para injeção de dependência, mas se eu adicionar ingenuamente a dependência circular, o Dagger atinge um estouro de pilha no tempo de execução. Qual é uma boa maneira de refatorar as classes para corrigir isso, enquanto ainda usa o Dagger para injetar todas as outras dependências, com duplicação e alterações mínimas nas chamadas existentes?

questionAnswers(3)

yourAnswerToTheQuestion