// creating and initializing handerServices, remove them from the handelerArgs so that they
// will be included only once
if(!handlerArgs.isEmpty()){
for(HandlerConfigBean bean : handlerArgs){
if(bean.isServiceType){
BillingHandler handlerService = handlerServices.get(bean.name);
if (handlerService == null) {
billingHandlers = null;
String msg = "The handler service: " + bean.name + " is not loaded.";
log.error(msg);
throw new BillingException(msg);
}
handlerService.init(bean.constructorArgs);
billingHandlers.add(handlerService);
} else {
BillingHandler handler = (BillingHandler) constructObject(bean.name);
handler.init(bean.constructorArgs);
billingHandlers.add(handler);
}
}
//all the billing handler services are initialized properly, can clear handlerArgs