}
String proxyName = getProxyName( tdef, cdef );
String wrapperName = getPropertyWrapperName( tdef, cdef );
KieComponentFactory rcf = ruleBase.getConfiguration().getComponentFactory();
TraitPropertyWrapperClassBuilder propWrapperBuilder = (TraitPropertyWrapperClassBuilder) rcf.getClassBuilderFactory().getPropertyWrapperBuilder();
propWrapperBuilder.init( tdef, ruleBase.getTraitRegistry() );
try {
byte[] propWrapper = propWrapperBuilder.buildClass( cdef );
ruleBase.registerAndLoadTypeDefinition( wrapperName, propWrapper );
} catch (Exception e) {
e.printStackTrace();
}
TraitProxyClassBuilder proxyBuilder = (TraitProxyClassBuilder) rcf.getClassBuilderFactory().getTraitProxyBuilder();
proxyBuilder.init( tdef, rcf.getBaseTraitProxyClass(), ruleBase.getTraitRegistry() );
try {
byte[] proxy = proxyBuilder.buildClass( cdef );
ruleBase.registerAndLoadTypeDefinition( proxyName, proxy );
} catch (Exception e) {
e.printStackTrace();