From what yetapb said, you could have two or more adapter objects that all implement the same interface. That way, when you call SomeMethod that returns an object that requires fields (A,B,C,D), you pass it to one adapter object. When you call SomeOtherMethod that requires fields (B,F, G, Q) you would instantiate the other adaptor class.
If both of these implement a common interce, you could put something like an IsValid method on the interface, and only refer to the interface locally in your code after you've checked IsValid. Each adapter class would then implement it's own logic for the required fields.
Locally, you would then never refer directly to either of the adapter clases in your code, but rather your interface.
Other then that, you are the consumer of the service - you can't guarantee the return object is logically doing what you think it is (and on some levels, you should program defensively around this fact), beyond the operation contract. The underlying idea here is that this approach adds a thin layer of validation to the object.