code: private ConstantPoolEntry parseConstantPoolEntry(int index)
      throws IOException
    {
      int tag = read();
  
      switch (tag) {
      case CP_CLASS:
        return parseClassConstant(index);
        
      case CP_FIELD_REF:
        return parseFieldRefConstant(index);
        
      case CP_METHOD_REF:
        return parseMethodRefConstant(index);
        
      case CP_INTERFACE_METHOD_REF:
        return parseInterfaceMethodRefConstant(index);
        
      case CP_STRING:
        return parseStringConstant(index);
        
      case CP_INTEGER:
        return parseIntegerConstant(index);
        
      case CP_FLOAT:
        return parseFloatConstant(index);
        
      case CP_LONG:
        return parseLongConstant(index);
        
      case CP_DOUBLE:
        return parseDoubleConstant(index);
        
      case CP_NAME_AND_TYPE:
        return parseNameAndTypeConstant(index);
        
      case CP_UTF8:
        return parseUtf8Constant(index);
  
      default:
        throw error(L.l("'{0}' is an unknown constant pool type.",
                        tag));
      }
    }
docs: Parses a constant pool entry.