added more checks for closed in ClientConsumer.receive(...) it doesn't matter when the consumer is closed the method should be consistent so check elsewhere apart from method entry