code: @Nonnull
    public static <T extends Disposable> T assertNotDisposed(@Nonnull final T disposable) {
      if (disposable.isDisposed()) {
        final AlreadyDisposedError error = new AlreadyDisposedError("Object already disposed");
        MetaErrorListeners.fireError("Asserion error", error);
        throw error;
      }
      return disposable;
    }
docs: Assert that a disposable object is not disposed.
  
  @param <T>        type of the object
  @param disposable disposable object to be checked
  @return the disposable object if it is not disposed yet
  @throws AlreadyDisposedError it will be thrown if the object is already disposed;
  @since 1.0