public List<Map<String, String>> executeSynchQuery(String sql) {
		List<Map<String, String>> ColData = new ArrayList<Map<String, String>>();

		Statement statement = null;
		ResultSet rs = null;
		try {
			statement = this.connection.createStatement();
			rs = statement.executeQuery(sql);
			while (rs.next()) {
				HashMap<String, String> rowToAdd = new HashMap<String, String>();
				for (int x = 1; x <= rs.getMetaData().getColumnCount(); ++x) {
					rowToAdd.put(rs.getMetaData().getColumnName(x), rs.getString(x));
				}
				ColData.add(rowToAdd);
			}
		} catch (SQLException e) {
			StatisticianPlugin.getInstance().getLogger().warning(sql + " :: Query failed, checking connection... (" + e.getMessage() + ")");
			if (Config.getConfig().isVerboseErrors()) {
				e.printStackTrace();
			}
			this.checkConnectionTryReconnect();
			return null;
		} finally {
			if (rs != null) {
				try {
					rs.close();
				} catch (SQLException e) {}
			}
			if (statement != null) {
				try {
					statement.close();
				} catch (SQLException e) {}
			}
		}
		return ColData;
	}