code: @SuppressWarnings("unchecked")
  	@Override
  	public <T> T create(String aName, Object[] params)
  	{
  		if(aName == null || aName.length() == 0)
  			return null;
  		
  		String factoryName = new StringBuilder(PROP_PREFIX).append(aName).toString();
  		
  		Object serviceObj = null;
  		
  		if(singletonCreation)
  		    serviceObj = factoryMap.get(factoryName.toString());
  		
  		if(serviceObj == null)
  		{
  			//create
  			String className = settings.getProperty(factoryName,aName);
  			serviceObj = ClassPath.newInstance(className,params);
  			
  			if(setNestedProperties)
  				setProperties(factoryName, serviceObj);
  			
  			if(singletonCreation)
  			   factoryMap.put(factoryName, serviceObj);		
  		}
  		
  		return (T)serviceObj;
  	}
docs: ------------------------------------------------