class TimeZoneUtility {

    public static Optional<TimeZone> parseTimeZone(String value) {
        if ("server".equalsIgnoreCase(value)) return Optional.of(TimeZone.getDefault());

        try {
            ZoneId zoneId = ZoneId.of(value);
            return Optional.of(TimeZone.getTimeZone(zoneId));
        } catch (DateTimeException notFound) {
            return Optional.empty();
        }
    }

    private  TimeZoneUtility();

}