CrontabEntry { @Override public String toString() { return String.join( " ", getMinuteAsString(), getHourAsString(), getDayOfMonthAsString(), getMonthAsString(), getDayOfWeekAsString()); } private  CrontabEntry(
      RangeSet<Integer> minute,
      RangeSet<Integer> hour,
      RangeSet<Integer> dayOfMonth,
      RangeSet<Integer> month,
      RangeSet<Integer> dayOfWeek); static CrontabEntry parse(String schedule); static Optional<CrontabEntry> tryParse(String schedule); RangeSet<Integer> getDayOfWeek(); boolean hasWildcardDayOfMonth(); boolean hasWildcardDayOfWeek(); String getMinuteAsString(); String getHourAsString(); String getDayOfMonthAsString(); String getMonthAsString(); String getDayOfWeekAsString(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void testToString() { assertEquals("0-58 * * * *", CrontabEntry.parse("0,1-57,58 * * * *").toString()); assertEquals("* * * * *", CrontabEntry.parse("* * * * *").toString()); }