//The signature should unify with the template
if(!un.unifies(signature, templateSignature)) {
//This should not happen in a properly described domain
throw new OperatorFactoryException("Failed to unify "+templateSignature+" with operator "+templateSignature+" instantiating "+operatorSignature);
}
templateSignature.apply(un);
PropositionFactory propositionFactory = PropositionFactory.getInstance();
//Then get the preconditions in the template
List<Proposition> templatePreconds = template.getPreconds();
List<Proposition> concretePreconds = new ArrayList<Proposition>(templatePreconds.size());