public ConstraintCombination parseConstraints(final IDynamicCase t, Map<String, Integer> dimensionIndex) {
        final ArrayList<IConstraint> inclusions = new ArrayList<IConstraint>();
        final ArrayList<IConstraint> exclusions = new ArrayList<IConstraint>();
        for ( Constraint constraint : t.constraints() ) {
            ConstraintTypeEnum type = constraint.type();
            if ( ConstraintTypeEnum.Inclusion == type ) {
                IConstraint e = createConstraint(constraint, dimensionIndex);
                inclusions.add(e);
            } else {
                IConstraint e = createConstraint(constraint, dimensionIndex);
                exclusions.add(e);
            }
        }
        final ConstraintCombination constraintCombination = new ConstraintCombination(inclusions.toArray(new IConstraint[0]),
                exclusions.toArray(new IConstraint[0]));
        return constraintCombination;
    }