protected function tryAndStackItemsIntoSpace(ItemList $packedItems, $maxWidth, $maxLength, $maxDepth)
{
while (!$this->items->isEmpty() && $this->remainingWeight >= $this->items->top()->getWeight()) {
$stackedItem = $this->findBestOrientation($this->items->top(), null, null, $maxWidth, $maxLength, $maxDepth);
if ($stackedItem) {
$this->remainingWeight -= $this->items->top()->getWeight();
$maxDepth -= $stackedItem->getDepth();
$packedItems->insert($this->items->extract());
} else {
break;
}
}
}