code: def wait_for_operation_completion(self, operation, timeout):
          
          if not isinstance(operation, baseinteger):
              raise TypeError("operation can only be an instance of type baseinteger")
          if not isinstance(timeout, baseinteger):
              raise TypeError("timeout can only be an instance of type baseinteger")
          self._call("waitForOperationCompletion",
                       in_p=[operation, timeout])
docs: Waits until the given operation is done with a given timeout in
          milliseconds; specify -1 for an indefinite wait.
          
          See :py:func:`wait_for_completion` for event queue considerations.
  
          in operation of type int
              Number of the operation to wait for.
              Must be less than :py:func:`operation_count` .
  
          in timeout of type int
              Maximum time in milliseconds to wait or -1 to wait indefinitely.
  
          raises :class:`VBoxErrorIprtError`
              Failed to wait for operation completion.