Replace some protected parameter by final parameters
Some parameters are defined as protected since they are computed based on other parameters and are not supposed to be modified by the user. However, their value could be still valuable for the user, so the use of the final keyword would be preferable than the protected one.