public int CompareTo(object obj)
        {
            if (obj is NintendoWiiOpticalDiscVolume)
            {
                NintendoWiiOpticalDiscVolume o = (NintendoWiiOpticalDiscVolume)obj;

                return(this.VolumeIdentifier.CompareTo(o.VolumeIdentifier));
            }

            throw new ArgumentException("object is not an NintendoWiiOpticalDiscVolume");
        }
        public void LoadVolumes(FileStream isoStream)
        {
            NintendoWiiOpticalDiscVolume newVolume;

            for (int i = 0; i < 4; i++)
            {
                if (this.Partitions[i].PartitionTableOffset > 0)
                {
                    for (int j = 0; j < this.Partitions[i].PartitionCount; j++)
                    {
                        newVolume = new NintendoWiiOpticalDiscVolume(
                            this.Partitions[i].PartitionEntries[j].PartitionOffset,
                            this.Partitions[i].PartitionEntries[j].RelativeDataOffset,
                            this.Partitions[i].PartitionEntries[j].DecryptedTitleKey,
                            this.DiscReader);

                        newVolume.Initialize(isoStream, this.Partitions[i].PartitionEntries[j].PartitionOffset, this.IsRawDump);
                        this.VolumeArrayList.Add(newVolume);
                    }
                }
            }
        }