private static CycNaut calendar2Naut(final Calendar calendar, final int granularity) {
    CycNaut dateNaut = new CycNaut(YEAR_FN, calendar.get(YEAR_GRANULARITY));
//      if (granularity == WEEK_GRANULARITY) {
//        dateNaut = new CycNaut(WEEK_FN, calendar.get(WEEK_GRANULARITY), dateNaut);
//      } else
    if (granularity > YEAR_GRANULARITY) {
      dateNaut = new CycNaut(MONTH_FN, lookupMonth(calendar.get(MONTH_GRANULARITY)), dateNaut);
        if (granularity > MONTH_GRANULARITY) {
        dateNaut = new CycNaut(DAY_FN, calendar.get(DAY_GRANULARITY), dateNaut);
        if (granularity > DAY_GRANULARITY) {
          dateNaut = new CycNaut(HOUR_FN, calendar.get(HOUR_GRANULARITY), dateNaut);
          if (granularity > Calendar.HOUR) {
            dateNaut = new CycNaut(MINUTE_FN, calendar.get(MINUTE_GRANULARITY), dateNaut);
            if (granularity > MINUTE_GRANULARITY) {
              dateNaut = new CycNaut(SECOND_FN, calendar.get(SECOND_GRANULARITY), dateNaut);
              if (granularity > SECOND_GRANULARITY) {
                dateNaut = new CycNaut(MILLISECOND_FN, calendar.get(MILLISECOND_GRANULARITY), dateNaut);
              }
            }
          }
        }
      }
    }
    return dateNaut;
  }