* <i>Free</i> means this connection is not currently in use and will be exclusively dedicated to the function/process/thread
* which has asked for it by calling this function.
* </p>
*
* <p><i>Note:
* This function can create on the fly a new connection OR get a free one from a connection pool. Considering the
* creation time of a database connection, the second way is recommended.
* </i></p>
*
* <p><b>IMPORTANT:</b>
* The returned connection MUST be freed after having used it.
* </p>
*
* <p><i><b>WARNING:</b>
* Some implementation may free the connection automatically when not used for a specific time.
* So, do not forget to free the connection after use!
* </i></p>
*
* @param jobID ID of the job/thread/process which has asked for this connection. <i>note: The returned connection must then be identified thanks to this ID.</i>
*
* @return A new and free connection to the database. <b>MUST BE NOT NULL, or otherwise a TAPException should be returned.</b>
*
* @throws TAPException If there is any error while getting a free connection.