private void processExceptions(DataInputStream data, MethodInfo target) throws IOException { int numExceptions = data.readUnsignedShort(); Type[] exceptions = numExceptions <= 0 ? Type.EMPTY_ARRAY : new Type[numExceptions]; for (int i = 0; i < numExceptions; i++) { exceptions[i] = intern(new ClassType(decodeClassEntry(data.readUnsignedShort()))); } // Do not overwrite a signature exception if (numExceptions > 0 && target.exceptions().size() == 0) { target.setExceptions(exceptions); } }