code: protected String long2roman(long val, boolean prefixesAreOK)
    {
  
      if (val <= 0)
      {
        return getZeroString();
      }
  
      String roman = "";
      int place = 0;
  
      if (val <= 3999L)
      {
        do
        {
          while (val >= m_romanConvertTable[place].m_postValue)
          {
            roman += m_romanConvertTable[place].m_postLetter;
            val -= m_romanConvertTable[place].m_postValue;
          }
  
          if (prefixesAreOK)
          {
            if (val >= m_romanConvertTable[place].m_preValue)
            {
              roman += m_romanConvertTable[place].m_preLetter;
              val -= m_romanConvertTable[place].m_preValue;
            }
          }
  
          place++;
        }
        while (val > 0);
      }
      else
      {
        roman = XSLTErrorResources.ERROR_STRING;
      }
  
      return roman;
    }
docs: Convert a long integer into roman numerals.
  @param val Value to convert.
  @param prefixesAreOK true_ to enable prefix notation (e.g. 4 = "IV"),
  false_ to disable prefix notation (e.g. 4 = "IIII").
  @return Roman numeral string.
  @see DecimalToRoman
  @see m_romanConvertTable