Problemas al analizar datos con RxJava + Kotlin

Así que estoy intentando analizar una respuesta JSON que devuelve los grupos de un usuario específico. Todo se devuelve correctamente y trato de agregarlo a una list mutable que debería ser persistente en todo mi file.

private var GROUPS: MutableList<GroupObject> = ArrayList() 

Y mi RxJava llama aquí

 val getUserGroups = ApiProvider.getUserGroups() compositeDisposable.add( getUserGroups.getUserGroups(prefs!!.accessToken) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe ({ result -> result.groups.mapTo(GROUPS) { GroupObject ( it.id, it.groupName ) } }, { error -> error.printStackTrace() }) ) 

Todo se ve bien cuando imprimo result.groups e incluso la printing de GRUPOS [0] me da la información correcta. Sin embargo, en cualquier lugar fuera de este compuestoDisponible cuando bash imprimir GRUPOS [0], la aplicación falla y dice que es nula. ¿Y estoy lidiando con un tema de scope descarado aquí? ¿Este compuestoDisponible solo guarda mis datos dentro del método de suscripción? Cualquier ayuda aquí sería muy apreciada.

Editar: Para agregar más, el siguiente código, en el primer sistema. En la información se muestra, en el segundo es nulo.

 val getUserGroups = ApiProvider.getUserGroups() compositeDisposable.add( getUserGroups.getUserGroups(prefs!!.accessToken) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe ({ result -> result.groups.mapTo(GROUPS) { GroupObject ( it.id, it.groupName ) } System.out.println(GROUPS[0]) }, { error -> error.printStackTrace() }) ) System.out.println(GROUPS[0])