st = conn.prepare(query, false);
if(timeoutThread != null) {
timeoutThread.endQuery(conn);
}
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
if(st.step()) {
do {
// true if there is data (SQLITE_ROW) was returned, false if statement has been completed (SQLITE_DONE)
Map<String, Object> objectToRead = new HashMap<String, Object>();
for(int i = 0; i < st.columnCount(); i++) {
objectToRead.put(st.getColumnName(i), st.columnValue(i));