/** * Interface for composite items. If multiple inheritance were supported, the CompositeITem * abstract class would suffice, and allow these methods to be restricted to the package. * This interface exists solely because AssembledPart can not extend Part and CompositeItem * at the same time. CompositeItem implementation still needs to be copy/pasted to AssembledPart.