Desserializando a Cadeia de Caracteres JSON Aninhada Usando GSON

Tudo, eu tenho o seguinteJSON output / string (é uma resposta da API do JIRA):

{
    "expand": "names,schema",
    "startAt": 0,
    "maxResults": 50,
    "total": 1,
    "issues": [
        {
            "expand": "operations,versionedRepresentations,editmeta,changelog,transitions,renderedFields",
            "id": "18200",
            "self": "https://localhost/rest/api/2/issue/18200",
            "key": "LS-1111",
        "fields": {
                "issuetype": {
                    "self": "https://localhost/rest/api/2/issuetype/3",
                    "id": "3",
                    "description": "A task that needs to be done.",
                    "iconUrl": "https://localhost/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype",
                    "name": "Task",
                    "subtask": false,
                    "avatarId": 10318
                },
                "timespent": 21600,
                "aggregatetimespent": 25200,
                "resolution": null,
                "customfield_11201": null,
                "project": {
                    "self": "https://localhost/rest/api/2/project/10100",
                    "id": "10100",
                    "key": "PROJKEY",
                    "name": "ProjectABCD",
                    "avatarUrls": {
                        "48x48": "https://localhost/secure/projectavatar?pid=10100&avatarId=10600",
                        "24x24": "https://localhost/secure/projectavatar?size=small&pid=10100&avatarId=10600",
                        "16x16": "https://localhost/secure/projectavatar?size=xsmall&pid=10100&avatarId=10600",
                        "32x32": "https://localhost/secure/projectavatar?size=medium&pid=10100&avatarId=10600"
                    }
                },
                "issuelinks": [
                    {
                        "id": "16202",
                        "self": "https://localhost/rest/api/2/issueLink/16202",
                        "type": {
                            "id": "10003",
                            "name": "Relates",
                            "inward": "relates to",
                            "outward": "relates to",
                            "self": "https://localhost/rest/api/2/issueLinkType/10003"
                        }
                    }
                ]
        }
     }
    ]
}

estou usandoGSON para percorrer os elementos e obter os valores. Eu tenho escritoPOJO classes seguindo o exemplo "Objetos Aninhados" em

http://www.javacreed.com/gson-deserialiser-example/

Eu sou capaz de obter os valores dos elementos até o 2º nível. Por exemplo: eu sou capaz de obter o valor deresponse.expand, response.issues.get(0).expand e outros valores até esse nível. Como posso obter o valor deresponse.issues.get(0).fields.issuetype.id?

Como devo construir meu desserializador ePOJO classe. Por favor, ajude. Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion