code: public static String toRoman(final int number, final int[][] digits,
                                 final String zero, final String[] letters) {
          int maxVal = maxLetterValue(letters);
          return toRoman(new StringBuilder(), number, digits, zero, letters, maxVal).toString();
      }
docs: Converts an integer into a roman number.
  
  @param number    the value to convert
  @param digits    digit codes,
  i.e. {@link Romans#DIGITS DIGITS} or
  {@link Romans#DIGITS_SIMPLE DIGITS_SIMPLE}
  @param zero      representation of zero or {@code null}
  @param letters   letters to use for roman number
  @throws IllegalArgumentException if {@code number} is negative or
  too large to be represented with the given letters or if
  {@code number} is 0 and {@code zero} is null.