docs: private final static String getClassName(byte[] buffer, int offset, int length) {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "getClassName", new Object[]{offset, length});
  
      // If the classname has a length of 0 then we've been given rubbish so pack it in now
      if (length == 0) {
        throw new IllegalArgumentException("Invalid buffer: classname length = 0");
      }
  
      // The classname should be in UTF8, if that fails FFDC and default in the hope of carrying on.
      String className;
      try {
        className = new String(buffer, offset, length, "UTF8"); // the class name itself
      }
      catch (UnsupportedEncodingException e) {
        FFDCFilter.processException(e, "com.ibm.ws.sib.mfp.impl.JsMessageFactoryImpl.getClassName", "644");
        className = new String(buffer, offset, length);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "getClassName", className);
      return className;
    }