}
public <T> T execute(ConnectionCallback<T> action) throws OtpException {
Assert.notNull(action, "Callback object must not be null");
Connection con = null;
try {
con = createConnection();
return action.doInConnection(con);
}
catch (OtpException ex) {