code: private String getConstantPoolString(final int cpIdx, final int subFieldIdx)
              throws ClassfileFormatException, IOException {
          final int constantPoolStringOffset = getConstantPoolStringOffset(cpIdx, subFieldIdx);
          return constantPoolStringOffset == 0 ? null
                  : intern(inputStreamOrByteBuffer.readString(constantPoolStringOffset,
                          /* replaceSlashWithDot = */ false, /* stripLSemicolon = */ false));
      }
docs: Get a string from the constant pool.
  
  @param cpIdx
  the constant pool index
  @param subFieldIdx
  should be 0 for CONSTANT_Utf8, CONSTANT_Class and CONSTANT_String, and for
  CONSTANT_NameAndType_info, fetches the name for value 0, or the type descriptor for value 1.
  @return the constant pool string
  @throws ClassfileFormatException
  If a problem occurs.
  @throws IOException
  If an IO exception occurs.