If version < 0.12, the first block is executed, if 0.12 <= version < 0.15, then the second block is, and for version >= 0.15 the last block (`else...`) is executed.
It is useless to test the whole condition (0.12 <= version < 0.15) since half of it is already captured by the first `if...` statement.