Auto-referência direta levando a exceção de ciclo

Eu tenho classe algo parecido com isto

public abstract class ElasticSearchValue<T> {

  private Long txId;
  private Long currentTxId;
  private T previous;

  public Long getTxId() {
    return txId;
  }

  public void setTxId(Long txId) {
    this.txId = txId;
  }

  public Long getCurrentTxId() {
    return currentTxId;
  }

  public void setCurrentTxId(Long currentTxId) {
    this.currentTxId = currentTxId;
  }

  public Object getPrevious() {
    return previous;
  }

  public void setPrevious(T previous) {
    this.previous = previous;
  }

}

E uma classe que amplia a classe acima

public class DailyActivity extends ElasticSearchValue<DailyActivity> {

  Long agentId;
  Date date;
  Long success;

  public Long getAgentId() {
    return agentId;
  }

  public void setAgentId(Long agentId) {
    this.agentId = agentId;
  }

  public Date getDate() {
    return date;
  }

  public void setDate(Date date) {
    this.date = date;
  }

  public Long getSuccess() {
    return success;
  }

  public void setSuccess(Long success) {
    this.success = success;
  }

  @Override
  public String toString() {
    return agentId + "_" + date.toString();
  }

}

Agora, eu tenho um objeto do tipo DailyActivity e quando tento convertê-lo em json string recebo a seguinte exceção:

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Direct self-reference leading to cycle (through reference chain: com.pr.analysis.DailyActivity["previous"])

Eu olhei para a solução no google, mas a solução que eu recebo pede para colocar jsonIgnore ao valor anterior, que não é o que eu pretendo fazer. Alguém já enfrentou o mesmo problema? obrigado

EDITAR Eu sei que há um ciclo na aula e estou perguntando como desserializar a classe que tem uma auto referência?

questionAnswers(5)

yourAnswerToTheQuestion