if (newCDP.getComponentDescription().isImmediate()) {  return (ComponentInstance) newCDP.getInstances().get(0); }  return main.resolver.instanceProcess.buildDispose.buildComponentConfigInstance(null, newCDP);
return (ComponentInstance) newCDP.getInstances().get(0);
	public ComponentInstance newInstance(Dictionary newProperties) {		// merge properties		Hashtable properties = (Hashtable) cdp.getProperties().clone();		Enumeration propsEnum = newProperties.keys();		while (propsEnum.hasMoreElements()) {			Object key = propsEnum.nextElement();			properties.put(key, newProperties.get(key));		}		// create a new cdp (adds to resolver enabledCDPs list)		ComponentDescriptionProp newCDP = main.resolver.mapFactoryInstance(cdp.getComponentDescription(), properties);		// try to resolve new cdp - adds to resolver's satisfied list		if (!main.resolver.justResolve(newCDP)) {			main.resolver.enabledCDPs.remove(newCDP); // was added by			// mapFactoryInstance			throw new ComponentException("Could not resolve instance of " + cdp + " with properties " + properties);		}		// if new cdp resolves, send it to instance process (will register		// service		// if it has one)		main.resolver.instanceProcess.registerComponentConfigs(Collections.singletonList(newCDP));		// get instance of new cdp to return		if (newCDP.getComponentDescription().isImmediate()) {			// if cdp is immediate then instanceProcess created one			return (ComponentInstance) newCDP.getInstances().get(0);		}		return main.resolver.instanceProcess.buildDispose.buildComponentConfigInstance(null, newCDP);	}