@SuppressWarnings("checkstyle:MagicNumber")
        private Optional<Integer> intOrEmpty(Object maybeInt, String parameterName) {
            try {
                return Optional.of(Integer.parseInt((String) maybeInt, 10));
            } catch (NumberFormatException numberFormatException) {
                String message = String.format(
                        Locale.ENGLISH,
                        "Expected Integer for parameter %s, but %s is not parsable.",
                        parameterName, maybeInt
                );
                LOG.warn(message, numberFormatException);
                return Optional.empty();
            }
        }
A HashProvider for the Argon2 hash algorithm.

<p>This class is intended to be used by the {@code HashProvider} class from Shiro. However,
this class can also be used to created instances of the Argon2 hash manually.</p>

<p>Furthermore, there is a nested {@link Parameters} class which provides names for the
keys used in the parameters map of the {@link HashRequest} class.</p>

@since 2.0
crypto/support/hashes/argon2/src/main/java/org/apache/shiro/crypto/support/hashes/argon2/Argon2HashProvider.java