  @Test(enabled = false)
  public void checkLockRelease() {


    LoadExampleData.load();

    try (Transaction txn0 = DB.beginTransaction()) {

      Product newProd = new Product("Copper", "COP");
      DB.save(newProd);

      List<Product> list = new QProduct()
        .name.istartsWith("c")
        .orderBy()
        .name.asc()
        .forUpdate()
        .findList();

      Product firstProduct = list.get(0);

      Query<Product> queryById = new QProduct()
        .id.eq(firstProduct.getId())
        .forUpdateNoWait()
        .query();

//          Ebean.findNative(Product.class, "select * from product where id = :id for update nowait")
//          .setParameter("id", firstProduct.getId());

      assertThat(obtainWithLock(queryById)).isFalse();

      try {
        txn0.getConnection().commit();
        //txn0.commitAndContinue();
      } catch (SQLException e) {
        e.printStackTrace();
      }

      assertThat(obtainWithLock(queryById)).isTrue();

      txn0.commit();
    }
  }