private function setYear($year) {
        
        //preventing duplication process
        if ($year == $this->year) {
            return;
        }
        $this->year          = (int) $year;
        $maximumDayAvailable = static::getMonthLength($this->year, $this->month);
        if ($this->day > $maximumDayAvailable) {
            $this->day = $maximumDayAvailable;
        }
    }