ServiceName deploymentUnitServiceName = source.getServiceName().getParent();
switch (sessionBeanType) {
case STATELESS:
return new StatelessComponentDescription(source.getComponentName(), source.getComponentClassName(), ejbModuleDescription, deploymentUnitServiceName);
case STATEFUL:
return new StatefulComponentDescription(source.getComponentName(), source.getComponentClassName(), ejbModuleDescription, deploymentUnitServiceName);
case SINGLETON:
return new SingletonComponentDescription(source.getComponentName(), source.getComponentClassName(), ejbModuleDescription, deploymentUnitServiceName);
default:
throw new IllegalArgumentException("Unknown session bean type: " + sessionBeanType + " for bean " + source.getEJBName());
}