Improve code quality (#10)
* Improve code quality: Avoid KolinNPE
* Improve code quality: Remove expressions with labels which increase complexity
* Improve code quality: Reduce complex methods
* Improve code quality: Reduce complex methods
* Improve code quality: Reduce complex methods
* Improve code quality: Fix TooGenericExceptionCaught
* Improve code quality: Avoid KolinNPE
* Improve code quality: Avoid objects allocation when using Kotlin spread operator
* Improve code quality: Avoid KolinNPE
* Improve code quality: Avoid KolinNPE
* Improve code quality: Avoid KolinNPE
* Improve code quality: Avoid KolinNPE
* Improve code quality: Reduce complex methods
* Improve code quality: Split long methods
* Improve code quality: Fix TooGenericExceptionCaught
* Improve code quality: Fix complex conditions