code: @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();
  	}
docs: Assembles the specified component instance by injecting the dependent
  components into it.
  The assembled component instance is <b>not</b> managed by the container.
  
  @param <T> The component type.
  @param component The component instance that the dependent components to
  be injected.
  @return The assembled component instance.