public <T> AssertThat doWithDataContext(Function<DataContext, T> fn) throws Exception { CalciteConnection connection = (CalciteConnection) connectionFactory.createConnection(); final DataContext dataContext = CalciteMetaImpl.createDataContext( connection); try { T t = fn.apply(dataContext); Util.discard(t); return AssertThat.this; } finally { connection.close(); } }