void (@NotNull final ASTNode child) { if (child.getElementType() == JavaElementType.TYPE_PARAMETER){ JavaSourceUtil.deleteSeparatingComma(this, child); } super.deleteChildInternal(child); if (child.getElementType() == JavaElementType.TYPE_PARAMETER) { final ASTNode lt = findChildByRole(ChildRole.LT_IN_TYPE_LIST); final ASTNode next = PsiImplUtil.skipWhitespaceAndComments(lt.getTreeNext()); if (next != null && next.getElementType() == JavaTokenType.GT) { deleteChildInternal(lt); deleteChildInternal(next); } } }