たとえばHogeClass?
public class HogeClass<T> {
}
public HogeClass<T> map(ThrowableFunction<T,T> mapper){ //正常な場合の返し方 //return new HogeClass<T>(mapper.apply(t)) //return HogeClass.fuga(なんかパラメータいれてstaticメソッド); }
//何にもないとき用はstaticでとりあえず同じ型をかえす。 public static HogeClass fuga(){ return new HogeClass(なんかの初期パラメータ); }