class_docstr: Represent a GCS Object, including all its revisions.
class_docstr_tok: ["Represent","a","GCS","Object",",","including","all","its","revisions","."]
docstr: Get object revision by generation or None if not found.
  
  :param generation:int
  :return: the object revision by generation or None.
  :rtype:GcsObjectRevision
docstr_tok: ["Get","object","revision","by","generation","or","None","if","not","found",".",":","param","generation",":","int",":","return",":","the","object","revision","by","generation","or","None",".",":","rtype",":","GcsObjectRevision"]
code: def get_revision_by_generation(self, generation):
      """Get object revision by generation or None if not found.
  
      :param generation:int
      :return: the object revision by generation or None.
      :rtype:GcsObjectRevision
      """
      return self.revisions.get(str(generation), None)
  
imports: import base64
  import crc32c
  import error_response
  import hashlib
  import json
  import struct
  import testbench_utils
  import time
label_desc: Use image node_id 5 for calling the GcsObject obj's underlying member method code with example usage: obj.get_revision_by_generation(generation) and returns: self