/** * <B>Note:</B> even though {@code Statement} is automatically closed when it is garbage * collected, it is better to close it explicitly to lower resource consumption. * * {@inheritDoc} */ public final void close() throws SQLException { // closing an already closed Statement is a no-op. synchronized (this) { if (isClosed) { return; } isClosed = true; } cancel(); closeForNextExecution(); closeImpl(); }