public ComplexExpansionMethod createComplexExpansionMethod(InteractionCategory category, ComplexExpansionType type) { switch (type){ case bipartite: return createBipartiteComplexExpansion(category); case matrix: return createMatrixComplexExpansion(category); case spoke: return createSpokeComplexExpansion(category); default: throw new IllegalArgumentException("Cannot create a complex expansion method for ComplexExpansionType "+type); } }