class SATCreatorDecoder extends AbstractSATDecoder<Genotype, ImplementationWrapper> {

	protected double getLowerOrderBound(int orderSize, int orderIndex) {
		if (orderIndex == -1) {
			throw new IllegalArgumentException("Illegal order index provided.");
		}
		return (orderSize - orderIndex - 1) * 1.0 / orderSize;
	}

	@Inject public  SATCreatorDecoder(VariableClassOrder order, SATManager manager, Rand random, SATConstraints constraints,
			SpecificationWrapper specificationWrapper, Interpreter interpreter, Control control,
			@Constant(value = "variableorder", namespace = SATCreatorDecoder.class) boolean useVariableOrder);

}