public LocalInstant Add(LocalInstant localInstant, long value) { int currentYear = calculator.GetYear(localInstant); // Adjust argument range based on current year Preconditions.CheckArgumentRange("value", value, calculator.MinYear - currentYear, calculator.MaxYear - currentYear); // If we got this far, the conversion to int must be fine. int intValue = (int)value; return(calculator.SetYear(localInstant, intValue + currentYear)); }