private static Optional<Duration> parseDuration(String input) throws ArgumentException.PastDate {
        try {
            long number = Long.parseLong(input);
            Instant now = Instant.now().truncatedTo(ChronoUnit.SECONDS);
            Duration duration = checkPastDate(Duration.between(now, Instant.ofEpochSecond(number)));
            return Optional.of(duration);
        } catch (NumberFormatException e) {
            // ignore
        }

        try {
            Duration duration = checkPastDate(DurationParser.parseDuration(input));
            return Optional.of(duration);
        } catch (IllegalArgumentException e) {
            // ignore
        }

        return Optional.empty();
    }
A list of {@link String} arguments, with extra methods to help
with parsing.
common/src/main/java/me/lucko/luckperms/common/command/utils/ArgumentList.java