SoulissDBTagHelper dbt = new SoulissDBTagHelper(SoulissApp.getAppContext());
SoulissTag origin = tagAdapter.getTag(viewHolder.getAdapterPosition());
origin.setTagOrder(target.getAdapterPosition());
SoulissTag dest = tagAdapter.getTag(target.getAdapterPosition());
dest.setTagOrder(viewHolder.getAdapterPosition());
<BUG>dbt.createOrUpdateTag(origin, null);
dbt.createOrUpdateTag(dest, null);
Collections.swap(tagAdapter.getTagArray(), viewHolder.getAdapterPosition(), target.getAdapterPosition());</BUG>
tagAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;

SoulissDBTagHelper dbt = new SoulissDBTagHelper(SoulissApp.getAppContext());
SoulissTag origin = tagAdapter.getTag(viewHolder.getAdapterPosition());
origin.setTagOrder(target.getAdapterPosition());
SoulissTag dest = tagAdapter.getTag(target.getAdapterPosition());
dest.setTagOrder(viewHolder.getAdapterPosition());
dbt.createOrUpdateTag(origin);
dbt.createOrUpdateTag(dest);
Collections.swap(tagAdapter.getTagArray(), viewHolder.getAdapterPosition(), target.getAdapterPosition());
tagAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;
