/// <summary>
 /// Create a new object that implements the IDiskPartition interface from operating system information.
 /// </summary>
 /// <param name="pe"></param>
 /// <returns></returns>
 /// <remarks></remarks>
 internal static IDiskPartition CreateInfo(Partitioning.PARTITION_INFORMATION_EX pe)
 {
     if (pe.PartitionStyle == PartitionStyle.Gpt)
     {
         return(new GptDiskPartitionInfo(pe));
     }
     else
     {
         return(new MbrDiskPartitionInfo(pe));
     }
 }
 /// <summary>
 /// Creates a new instance of this DiskPartitionInfo-derived class and populates it with information from the operating system.
 /// </summary>
 /// <param name="pe"></param>
 /// <remarks></remarks>
 internal DiskPartitionInfo(Partitioning.PARTITION_INFORMATION_EX pe)
 {
     _partex = pe;
 }