if (sidedInv.canInsertItem(slots[i], stack, side) && ItemHelper.itemsEqualWithMetadata(stack, inventory.getStackInSlot(slots[i]), true)) {
stack = simulateAddToOccupiedInventorySlot(sidedInv, slots[i], stack);
}
}
for (int i = 0; i < slots.length && stack != null; i++) {
if (sidedInv.canInsertItem(slots[i], stack, side) && inventory.getStackInSlot(slots[i]) == null) {
stack = simulateAddToEmptyInventorySlot(sidedInv, slots[i], stack);
}
}
} else {
int invSize = inventory.getSizeInventory();