docs: private static void appendToBuilder(long l, int radix, StringBuilder builder, char[] bufferConversion)
      {
          if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
          {
              radix = 10;
          }
          if (l == 0)
          {
              builder.append('0');
              return;
          }
  
          int count = 2;
          long j = l;
          boolean negative = l < 0;
          if (!negative)
          {
              count = 1;
              j = -l;
          }
          while ((l /= radix) != 0)
          {
              count++;
          }
  
          if (bufferConversion.length < count)
          {
              bufferConversion = new char[count];
          }
          int finalCount = count;
  
          char[] buffer = bufferConversion;
          do 
          {
              int ch = 0 - (int) (j % radix);
              if (ch > 9)
              {
                  ch = ch - 10 + 'a';
              }
              else
              {
                  ch += '0';
              }
              buffer[--count] = (char) ch;
              j /= radix;
          }
          while (j != 0);
          if (negative)
          {
              buffer[0] = '-';
          }
          for (int i = 0; i < finalCount; i++)
          {
              builder.append(buffer[i]);
          }
          //return new String(0, buffer.length, buffer);
      }