Occasionally Salesforce Object have polymorphic relationships with other Salesforce Objects. In a polymorphic relationship, the referenced object of the relationship can be one of several different types of object. These polymorphic relationships are defined using polymorphic fields contained in a Salesforce Object. A polymorphic field is one where the related object might be one of several different types of objects. For example, the `Who` relationship field of a Task can be a Contact or a Lead. Similarly the `What` relationship field of a Task can be any non-Person Object in Salesforce.
What is the best way to model these Salesforce polymorphic relationship in the Data Vault methodology?