Would I be correct in thinking that I should call "session.enlistForClose(provider)" in the getInstance() method of my factory to ensure close() is called?