docs: private static void advance(Calendar cal, int field, int nextField, long haystack, int needle)
      {
          long higher = higher(haystack, needle);
          if (higher != 0)
          {
              cal.set(field, first(higher));
          }
          else
          {
              cal.set(field, first(haystack));
              cal.add(nextField, 1);
          }
      }