code: public static Optional<SaltError> deriveError(String saltOutput) {
          Matcher fnuMatcher = FN_UNAVAILABLE.matcher(saltOutput);
          Matcher mnsMatcher = MODULE_NOT_SUPPORTED.matcher(saltOutput);
          if (fnuMatcher.find()) {
              String fn = fnuMatcher.group(1);
              return Optional.of(new FunctionNotAvailable(fn));
          } else if (mnsMatcher.find()) {
              String module = mnsMatcher.group(1);
              return Optional.of(new ModuleNotSupported(module));
          }
          return Optional.empty();
      }
docs: Based on the salt text output, derive particular {@link SaltError}.
  @param saltOutput salt output
  @return salt error corresponding to given string