public <R> Tuple2<R, T2> mapT1(Function<T1, R> mapper) {
		return new Tuple2<>(mapper.apply(t1), t2);
	}
public <R> Tuple2<R, T2> mapT1(Function<T1, R> mapper) {
		return new Tuple2<>(mapper.apply(t1), t2);
	}
public < R > Tuple2 < R , T2 > mapT1 ( Function < T1 , R > mapper ) { return new Tuple2 <> ( mapper . apply ( t1 ) , t2 ) ; }
Map the left-hand part (T1) of this {@link Tuple2} into a different value and type,
keeping the right-hand part (T2).

@param mapper the mapping {@link Function} for the left-hand part
@param <R> the new type for the left-hand part
@return a new {@link Tuple2} with a different left (T1) value
Map the left - hand part ( T1 ) of this { @link Tuple2 } into a different value and type keeping the right - hand part ( T2 ) .