public override bool AddItems(MyFixedPoint amount, MyObjectBuilder_Base objectBuilder)
 {
     var maxAmount = ComputeAmountThatFits(objectBuilder.GetId());
     var restAmount = amount;
     if (amount <= maxAmount)
     {
         foreach (MyInventoryBase inventory in m_children.Reader)
         {
             var availableSpace = inventory.ComputeAmountThatFits(objectBuilder.GetId());
             if (availableSpace > restAmount)
             {
                 availableSpace = restAmount;
             }
             if (availableSpace > 0)
             {
                 if (inventory.AddItems(availableSpace, objectBuilder))
                 {
                     restAmount -= availableSpace;
                 }
             }
             if (restAmount == 0) break;
         }
     }
     return restAmount == 0;
 }