[DO NOT MERGER] Draft of scheme generation

@roman-mazur just review it and say am I moving in the right direction, please
Not that if you use Gson, you write object fields comparisons instead of text comparisons.