### Question:
SQLQuery extends AbstractSQLQuery<T, SQLQuery<T>> { @Override public <U> SQLQuery<U> select(Expression<U> expr) { queryMixin.setProjection(expr); @SuppressWarnings("unchecked") SQLQuery<U> newType = (SQLQuery<U>) this; return newType; } SQLQuery();  SQLQuery(SQLTemplates templates);  SQLQuery(Connection conn, SQLTemplates templates);  SQLQuery(Connection conn, SQLTemplates templates, QueryMetadata metadata);  SQLQuery(Configuration configuration);  SQLQuery(Connection conn, Configuration configuration);  SQLQuery(Connection conn, Configuration configuration, QueryMetadata metadata);  SQLQuery(Provider<Connection> connProvider, Configuration configuration);  SQLQuery(Provider<Connection> connProvider, Configuration configuration, QueryMetadata metadata); @Override SQLQuery<T> clone(Connection conn); @Override SQLQuery<U> select(Expression<U> expr); @Override SQLQuery<Tuple> select(Expression<?>... exprs);  }### Answer:
@Test(expected = IllegalStateException.class) public void noConnection() { QSurvey survey = QSurvey.survey; SQLExpressions.select(survey.id).from(survey).fetch(); }