static Widget[] deleteTabs(TimerWorker timerWorker, User user, UserKey userKey,
int dashId, long deviceTilesId, long templateId,
Widget[] widgets, int lastTabIndex) {
ArrayList<Widget> zeroTabWidgets = new ArrayList<>();
int removedWidgetPrice = 0;
for (Widget widgetToDelete : widgets) {
if (widgetToDelete.tabId > lastTabIndex) {
removedWidgetPrice += widgetToDelete.getPrice();
if (widgetToDelete instanceof Timer) {
timerWorker.delete(userKey, (Timer) widgetToDelete, dashId, deviceTilesId, templateId);
} else if (widgetToDelete instanceof Eventor) {
timerWorker.delete(userKey, (Eventor) widgetToDelete, dashId);
}
} else {
zeroTabWidgets.add(widgetToDelete);
}
}
user.addEnergy(removedWidgetPrice);
return zeroTabWidgets.toArray(new Widget[0]);
}