cresource.setParentResource(resource);
cresource.setName(drd.getResourceName());
cresource.setVersion(drd.getResourceVersion());
String rclassname = pmm.getComponentClass(type);
ResourceComponent component = (ResourceComponent) Class.forName(rclassname).newInstance();
AvailabilityContext availContext = new AvailabilityContextImpl(cresource, pluginContainer.getInventoryManager());
InventoryContext inventoryContext = new InventoryContextImpl(cresource, pluginContainer.getInventoryManager());
EventContext eventContext = new EventContextImpl(resource, eventManager);
ResourceContext context = new ResourceContext(cresource, parentComponent,
null, rdc, systemInfo, temporaryDirectory, dataDirectory,
pluginContainerName, eventContext, operationContext, contentContext,
availContext, inventoryContext,pluginContainerDeployment);
component.start(context);
components.put(component, cresource);
resources(type.getChildResourceTypes(), cresource, component, context);
return component;
}