Como atualizar o externalId de um usuário usando Java

Estou tentando atualizar um usuário com um ID externo, com base na documentação do SDK do administrador do Google.

UserExternalId externalId = new UserExternalId();
    externalId.setType( "account" );
    externalId.setValue( "test" );
    User user = new User();
    user.setExternalIds( externalId );
    try {
        User update = directory.users().update( "USERKEY", user ).execute().setExternalIds( externalId );
        LOGGER.info("Response from google: " + update.toPrettyString());
        User full = directory.users().get( "USERKEY" ).setProjection( "full" ).execute();
        LOGGER.info( "Response from new get user: " + full.toPrettyString() );
    } catch (IOException e) {
        LOGGER.info("Error: " + e);
    }

Ao registrar a resposta na chamada de atualização, vejo que externalId é preenchido e nenhum erro é gerado. Quando tento obter o mesmo usuário, não há rastreamento do externalId.

Quando eu uso o Google 'Explorador de APIs e preencha o ExternalId lá eu recebo o mesmo comportamento. Parece que a API do Google está aceitando a solicitação de atualização, mas está ignorando o ExternalId. Qual é a maneira correta de adicionar um externalId a um usuário?

editar:

A resposta da SGC me ajudou. O método setExternalIds espera uma lista de ExternalIds, esqueci de fazer isso. A API do Google Java Directory parece retornar um objeto json ao buscar externalIds, portanto, é necessário analisá-lo para lê-lo.

questionAnswers(1)

yourAnswerToTheQuestion