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);
}
}

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 ) ; } }
convert a non - method type descriptor into an internal type .
