docs: private static String descriptorToInternalName(String descriptor) {
          switch (descriptor.charAt(0)) {
              case 'B':
              case 'C':
              case 'D':
              case 'F':
              case 'I':
              case 'J':
              case 'S':
              case 'Z':
              case 'V':
              case '[':
                  return descriptor;
              case 'L':
                  return classDescriptorToInternalName(descriptor);
              default:
                  throw new IllegalArgumentException("bad descriptor:" +
                      descriptor);
          }
      }