v5 continue - jdk 9 - refactoring
Refactoring to factory method
Refactioring: ColorType to ColorCode
v5 continue