GSON: Como mover campos para o objeto pai

estou a usarGoogle GSON para transformar meu objeto Java em JSON.

Atualmente estou tendo a seguinte estrutura:

"Step": {
  "start_name": "Start",
  "end_name": "End",
  "data": {
    "duration": {
      "value": 292,
      "text": "4 min."
    },
    "distance": {
       "value": 1009.0,
       "text": "1 km"
    },
    "location": {
       "lat": 59.0000,
       "lng": 9.0000,
       "alt": 0.0
    }
  }
}

Atualmente umDuration objeto está dentro de umData objeto. Eu gostaria de pular oData objeto e mover oDuration objeto para oStep objeto, assim:

"Step": {
  "start_name": "Start",
  "end_name": "End",
  "duration": {
    "value": 292,
    "text": "4 min."
  },
  "distance": {
     "value": 1009.0,
     "text": "1 km"
  },
  "location": {
     "lat": 59.0000,
     "lng": 9.0000,
     "alt": 0.0
  }
}

Como posso fazer isso usando o GSON?

EDIT: Eu tentei usar um TypeAdapter para modificar o Step.class, mas no método de gravação não é possível adicionar meu objeto de duração para o JsonWriter.

questionAnswers(3)

yourAnswerToTheQuestion