if(sum_of_squared_delta_x != null) {
return (T) new WeightValueParamsF2(getWeight(i), sum_of_squared_gradients[i], sum_of_squared_delta_x[i]);
} else if(sum_of_gradients != null) {
return (T) new WeightValueParamsF2(getWeight(i), sum_of_squared_gradients[i], sum_of_gradients[i]);
} else {
return (T) new WeightValueParamsF1(getWeight(i), sum_of_squared_gradients[i]);
}
} else if(covars != null) {
return (T) new WeightValueWithCovar(getWeight(i), getCovar(i));
} else {
return (T) new WeightValue(getWeight(i));