if (Type.COMMON == type)
return new TdrCommonRuleProducer(this, txTDRName);
else if (Type.STATIC == type)
return new TdrStaticRuleProducer(this, propName, staticValue, tdrTypeName);
else if (Type.DYNAMIC == type)
return new TdrDynamicRuleProducer(this, propName, headerName, tdrTypeName);
else if (Type.EMIT == type)
return new TdrEmitProducer(this, tdrQueueService);
else
throw new UnsupportedOperationException("No producer of type: "+type);
}