Partitioning
By partitioning, you can define your data to distinguish the difference between data objects based on values in the data or differences in the syntax.
Partitioning is a method of subdividing objects into mutually exclusive subtypes. The partitioned type maintains the same class.