static
	private DaysSinceDate toDaysSinceDate(LocalDate epoch, Object value){

		if(value instanceof DaysSinceDate){
			DaysSinceDate period = (DaysSinceDate)value;

			if((epoch).equals(period.getEpoch())){
				return period;
			}

			long days = ChronoUnit.DAYS.between(epoch, period.getEpoch()) + period.getDays();

			return new DaysSinceDate(epoch, days);
		}

		throw new TypeCheckException(getDaysDataType(epoch), value);
	}
static private DaysSinceDate toDaysSinceDate ( LocalDate epoch , Object value ) { if ( value instanceof DaysSinceDate ) { DaysSinceDate period = ( DaysSinceDate ) value ; if ( ( epoch ) . equals ( period . getEpoch ( ) ) ) { return period ; } long days = ChronoUnit . DAYS . between ( epoch , period . getEpoch ( ) ) + period . getDays ( ) ; return new DaysSinceDate ( epoch , days ) ; } throw new TypeCheckException ( getDaysDataType ( epoch ) , value ) ; }
@see DataType#DATE_DAYS_SINCE_1960
@see DataType#DATE_DAYS_SINCE_1970
@see DataType#DATE_DAYS_SINCE_1980