}
@Override
@Transactional
public RegionWidget moveRegionWidget(long regionWidgetId, int newPosition, long toRegion, long fromRegion) {
Region target = getFromRepository(toRegion, regionRepository);
if (toRegion == fromRegion) {
moveWithinRegion(regionWidgetId, newPosition, target);
} else {
moveBetweenRegions(regionWidgetId, newPosition, fromRegion, target);
}
target = regionRepository.save(target);
return findRegionWidgetById(regionWidgetId, target.getRegionWidgets());
}