boolean (@NotNull SwitchStatement statement) { if (statement.isLabeled()) { return false; } //only for simplification for (List<Exprent> value : statement.getCaseValues()) { if (value.size() != 1) { return false; } } for (Statement caseStatement : statement.getCaseStatements()) { //only for simplification and not to create long rules if (caseStatement instanceof SequenceStatement || !caseStatement.getStats().isEmpty() || caseStatement.getExprents() != null && caseStatement.getExprents().size() > 1) { return false; } List<StatEdge> successorEdges = caseStatement.getSuccessorEdges(EdgeType.DIRECT_ALL); if (successorEdges.size() != 1) { return false; } StatEdge edge = successorEdges.get(0); if (edge.getType() != EdgeType.BREAK) { return false; } } return true; }