Retrieve a properly configured collection object as configured by this document class.
		
		If given an existing collection, will instead call `collection.with_options`.
		
		http://api.mongodb.com/python/current/api/pymongo/database.html#pymongo.database.Database.get_collection

def get_collection(cls, target=None):
		"""Retrieve a properly configured collection object as configured by this document class.
		
		If given an existing collection, will instead call `collection.with_options`.
		
		http://api.mongodb.com/python/current/api/pymongo/database.html#pymongo.database.Database.get_collection
		"""
		
		if target is None:
			if cls.__bound__ is None:
				raise TypeError("Target required when document class not bound.")
			
			return cls.__bound__
		
		if isinstance(target, PyMongoCollection):
			return target.with_options(**cls._collection_configuration())
		
		elif isinstance(target, Database):
			return target.get_collection(cls.__collection__, **cls._collection_configuration())
		
		raise TypeError("Can not retrieve collection from: " + repr(target))