Could you not create many ctors instead to use if else clauses ?