@Override
	public T build(Map<Class<?>, ClassBuilder<?>> how) {
		T newInstance;
		try {
			newInstance = this.underConstruction.newInstance();
		} catch (Exception e) {
			e.printStackTrace();
			throw new NecesitamosUnConstructorException(e,this.underConstruction);
		} 
	
		for (PropertyBuilder propBuilder : propertiesToInject) {
			Method method = this.lookForSetter(propBuilder,underConstruction.getMethods());
			
			if(method != null)
				try {
					method.invoke(newInstance, propBuilder.getValue(method,how));
				} catch (Exception e) {
					e.printStackTrace();
					throw new NoPudimosInyectarElSetterException(e);
				} 
		}
		
		return newInstance;
	}