docs: @SuppressWarnings("unchecked")
  	public <T> T assemble(T component) {
  		Preconditions.checkArgument(component != null, 
  				"Parameter 'component' must not be [" + component + "]");
  		Descriptor<T> descriptor = new Descriptor<T>((Class<T>) component.getClass());
  		return new Assembler<T>(this, descriptor, component).assemble();
  	}