code: public <U> BindResult<U> map(Function<? super T, ? extends U> mapper) {
  		Assert.notNull(mapper, "Mapper must not be null");
  		return of((this.value != null) ? mapper.apply(this.value) : null);
  	}
docs: Apply the provided mapping function to the bound value, or return an updated
  unbound result if no value has been bound.
  @param <U> the type of the result of the mapping function
  @param mapper a mapping function to apply to the bound value. The mapper will not
  be invoked if no value has been bound.
  @return an {@code BindResult} describing the result of applying a mapping function
  to the value of this {@code BindResult}.