public RuleKey create(NewRule newRule) { DbSession dbSession = dbClient.openSession(false); try { if (newRule.isCustom()) { return createCustomRule(newRule, dbSession); } if (newRule.isManual()) { return createManualRule(newRule, dbSession); } throw new IllegalStateException("Only custom rule and manual rule can be created"); } finally { dbSession.close(); } }