void appendEpisode(KernelCatch catchBlock) {
initEpisode(catchBlock);
if (catches == null) {
catches = new ArrayList<>();
getChildren().addAfter(tryBlock, catchBlock);
} else {
KernelCatch previous = catches.get(catches.size() - 1);
IClass exceptionType = catchBlock.getExceptionType();
if (exceptionType != null && exceptionType.isChildOrEqual(previous.getExceptionType())) {
throw new ASMSupportException("Unreachable catch block for " + exceptionType
+ ". It is already handled by the catch block for " + exceptionType);
}
getChildren().addAfter(previous, catchBlock);
}
catches.add(catchBlock);
addTreCatchInfo(tryBlock.getStart(), tryBlock.getEnd(), catchBlock.getStart(), catchBlock.getExceptionType());
}