public static IMutation[] getMutations(IMutationRules rules) { final List<IMutation> mutations = newArrayList(); mutations.addAll(getSecondEditionMutations()); List<IMutation> toRemove = new ArrayList<IMutation>(); for (IMutation mutation : mutations) { if (!rules.acceptMutation(mutation)) { toRemove.add(mutation); } } mutations.removeAll(toRemove); return mutations.toArray(new IMutation[mutations.size()]); }
public static IMutation[] getMutations(IExaltedEdition edition, IMutationRules rules) { List<IMutation> mutations = null; List<IMutation> toRemove = new ArrayList<IMutation>(); if (edition == ExaltedEdition.FirstEdition) { mutations = getFirstEditionMutations(); } if (edition == ExaltedEdition.SecondEdition) { mutations = getSecondEditionMutations(); } for (IMutation mutation : mutations) { if (!rules.acceptMutation(mutation)) { toRemove.add(mutation); } } mutations.removeAll(toRemove); return mutations.toArray(new IMutation[mutations.size()]); }