If IsPropertyIndirection() is false, there structures are expected to be standalone, and GetInstances() is used instead to retried the instance values. When indirection is not used and the struct provider is part of an another instance, the provider should return only one instance, since there is no to associate the provided value with an foreign object.