private void btnMultiEnergy_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                List<EnergyTank> tanks = new List<EnergyTank>();
                ContainerGroup group = new ContainerGroup();
                group.Ownership = ContainerGroup.ContainerOwnershipType.GroupIsSoleOwner;

                for (int cntr = 0; cntr < 3; cntr++)
                {
                    ShipPartDNA dna = GetDefaultDNA(EnergyTank.PARTTYPE);
                    double xy = _rand.NextDouble() * 3d;
                    double z = _rand.NextDouble() * 3d;
                    dna.Scale = new Vector3D(xy, xy, z);

                    EnergyTank energyTank = new EnergyTank(_editorOptions, _itemOptions, dna);

                    tanks.Add(energyTank);
                    group.AddContainer(energyTank);
                }

                #region Test1

                double max = group.QuantityMax;

                double remainder1 = group.AddQuantity(max * .5d, false);
                double remainder2 = group.RemoveQuantity(max * .25d, false);
                double remainder3 = group.RemoveQuantity(max * .33d, true);		// should fail
                double remainder4 = group.AddQuantity(max, false);		// partial add

                group.QuantityCurrent *= .5d;

                group.RemoveContainer(tanks[0], false);
                group.AddContainer(tanks[0]);

                group.RemoveContainer(tanks[0], true);
                group.AddContainer(tanks[0]);

                #endregion

                //TODO: Finish these
                //TODO: Test setting max (with just regular containers)

                #region Test2

                group.QuantityCurrent = 0d;

                group.Ownership = ContainerGroup.ContainerOwnershipType.GroupIsSoleOwner;
                //group.Ownership = ContainerGroup.ContainerOwnershipType.QuantitiesCanChange;

                tanks[0].QuantityCurrent *= .5d;		// this will make sole owner fail, but the second enum will handle it

                group.QuantityCurrent = max * .75d;

                group.RemoveQuantity(max * .33d, false);
                group.AddQuantity(max * .5d, false);

                group.RemoveContainer(tanks[0], true);
                group.AddContainer(tanks[0]);

                #endregion

                #region Test3

                group.OnlyRemoveMultiples = true;
                group.RemovalMultiple = max * .25d;

                group.QuantityCurrent = group.QuantityMax;

                double rem1 = group.RemoveQuantity(max * .1d, false);
                double rem2 = group.RemoveQuantity(max * .1d, true);

                group.QuantityCurrent = group.QuantityMax;

                double rem3 = group.RemoveQuantity(max * .3d, false);
                double rem4 = group.RemoveQuantity(max * .3d, true);

                #endregion
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }