Most of you have heard about TypeAdapter which is used to customize JSON conversions. Sometimes API can be designed that way that it wont fit your needs on client side. Thus you have to modify the response.
Most of you have heard about Kotlin which is now officially supported from Google itself. Thus I wont deep-dive into Kotlin, but you can follow this and this link as a starting point.
RxJava is a very powerful library for asynchronous jobs offering variety of features which can be combined and implemented in multiple ways.