It uses libparted to detect and manipulate devices and partition tables while several (optional) file system tools provide support for file systems not included in libparted.
This makes it impossible to add a partition when the partition table has approximately 3 primary partitions, plus an extended partition with 28 logical drives.