This section doesn't appear to do anything useful (does it?). Maybe it was left in after a refactor?
Unmarshalling the data doesn't set the Client property, so many subsequent calls on the objects returned (e.g. PowerOff()) will fail unless you set the Client property manually.
In ServerHardware #GetServerHardwareList, I think there are a few issues:
PowerOff()
) will fail unless you set the Client property manually.