docs: public void prepare(String sql, int connectionFlags, CancellationSignal cancellationSignal,
              SQLiteStatementInfo outStatementInfo) {
          if (sql == null) {
              throw new IllegalArgumentException("sql must not be null.");
          }
  
          if (cancellationSignal != null) {
              cancellationSignal.throwIfCanceled();
          }
  
          acquireConnection(sql, connectionFlags, cancellationSignal); // might throw
          try {
              mConnection.prepare(sql, outStatementInfo); // might throw
          } finally {
              releaseConnection(); // might throw
          }
      }