code: def close(self):
      if self.is_closed:
          raise Exception("Already closed")
      self.is_closed = True
  
      if self._source:
          try:
              self._source.close()
          except BufferError:
              del self._source
      if self._file:
          self._file.close()
  
imports: import errno
  import os
  import sys
  from threading import Lock
  from shutil import copyfileobj
  from whoosh.compat import BytesIO, memoryview_
  from whoosh.filedb.structfile import BufferFile, StructFile
  from whoosh.filedb.filestore import FileStorage, StorageError
  from whoosh.system import emptybytes
  from whoosh.util import random_name
label_desc: Use image node_id 3 for calling the CompoundStorage obj's underlying member method code with example usage: obj.close() without return types