@Override public List<TemplateTreeItem> getTemplateTreeItems(TemplateTree tt) { ArrayList<TemplateTreeItem> result = new ArrayList<TemplateTreeItem>(); final StoreDB.Api api = store.getApi(); try { final List<TemplateTreeItem> fromCache = cache.getTemplateTreeItems(tt); if (fromCache != null) { return fromCache; } return cache.putTemplateTreeItems( tt, toClientTemplateTreeItems(api.getTemplateTreeItems(tt.getId()))); } catch (SQLException ex) { log.log(Level.SEVERE, ex.getLocalizedMessage(), ex); } finally { api.close(); } return result; }