>>10
What you should be doing is creating an abstract Matter Assembler class that extends Matter, then subclass it with different types of matter assemblers, RawMatterAssembler, AntiMatterAssembler. You may also wish to ease Matter Assembler creation for other programmers with a MatterAssemblerFactory.