class_docstr: Base class for vectorized environments. Runs multiple independent copies of the same environment in parallel.
  
  This is not the same as 1 environment that has multiple subcomponents, but it is many copies of the same base env.
  
  Each observation returned from vectorized environment is a batch of observations for each parallel environment.
  And :meth:`step` is also expected to receive a batch of actions for each parallel environment.
  
  Notes:
      All parallel environments should share the identical observation and action spaces.
      In other words, a vector of multiple different environments is not supported.
docstr: Close all parallel environments and release resources.
  
  It also closes all the existing image viewers, then calls :meth:`close_extras` and set
  :attr:`closed` as ``True``.
  
  Warnings:
      This function itself does not close the environments, it should be handled
      in :meth:`close_extras`. This is generic for both synchronous and asynchronous
      vectorized environments.
  
  Notes:
      This will be automatically called when garbage collected or program exited.
  
  Args:
      **kwargs: Keyword arguments passed to :meth:`close_extras`
code: def close(self, **kwargs):
      """Close all parallel environments and release resources.
  
      It also closes all the existing image viewers, then calls :meth:`close_extras` and set
      :attr:`closed` as ``True``.
  
      Warnings:
          This function itself does not close the environments, it should be handled
          in :meth:`close_extras`. This is generic for both synchronous and asynchronous
          vectorized environments.
  
      Notes:
          This will be automatically called when garbage collected or program exited.
  
      Args:
          **kwargs: Keyword arguments passed to :meth:`close_extras`
      """
      if self.closed:
          return
      if self.viewer is not None:
          self.viewer.close()
      self.close_extras(**kwargs)
      self.closed = True
  
imports: from typing import Any, List, Optional, Tuple, Union
  import numpy
  import gym
  from gym.vector.utils.spaces import batch_space
label_desc: Use image node_id 14 for calling the VectorEnv obj's underlying member method code with example usage: obj.close() without return types