public void MoveItem(UUID userId, UUID itemId, UUID parentFolderId) { InventoryItemBase item = _storage.GetItem(itemId, UUID.Zero); InventoryFolderBase folder = _storage.GetFolderAttributes(parentFolderId); if (item == null) { throw new InventoryObjectMissingException(String.Format("Not moving null item for user {0}. The item could not be found", userId)); } if (folder == null) { throw new InventoryObjectMissingException(String.Format("Not moving item {0} for user {1}. The destination folder could not be found", item.ID, userId)); } if (item.Owner != userId || item.Owner != folder.Owner) { throw new InventorySecurityException(String.Format("Not moving item {0} for user {1}. User does not own the item or destination folder", item.ID, userId)); } _storage.MoveItem(item, folder); }