[RESOLVIDO]Erro StackOverFlowError

Boa Noite Galera!
Tenho uma classe que faz conexão com banco de dados e nessa mesma classe fiz um método para encerrar a conexão

public class ConnectionFactory 
{
	public static Connection getConnection()
	{
		try{
			Class.forName("com.mysql.jdbc.Driver");
			return DriverManager.getConnection("jdbc:mysql://localhost/biblioteca", "root", "123");
		}catch(ClassNotFoundException e){
			JOptionPane.showMessageDialog(null, "Driver não encontrado");
			return null;
		}catch(Exception e){
			JOptionPane.showMessageDialog(null, "Erro: " +e.getMessage());
			return null;
		}
		
	}
	
	public static void closeConnection(Connection conn, ResultSet rs, PreparedStatement ps) 
	{
		try{
			closeConnection(conn, rs, ps);
		}catch(Exception e){
			JOptionPane.showMessageDialog(null, "Impossível fechar conexão");
		}
	}	
	
	public static void closeConnection(Connection conn, PreparedStatement ps) 
	{
		try{
			closeConnection(conn, ps);
		}catch(Exception e){
			JOptionPane.showMessageDialog(null, "Impossível fechar conexão");
		}
	}
}

e estou usando esse método em um botão que grava:

btnGravar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { conn = ConnectionFactory.getConnection(); PreparedStatement ps = null; try{ ps = conn.prepareStatement("INSERT INTO leitor(codLeitor, nomeLeitor, tipoLeitor)" + " VALUES(?, ?, ?)"); ps.setString(1, txt1.getText()); ps.setString(2, txt2.getText()); ps.setString(3, (String) comboBox.getSelectedItem()); ps.executeUpdate(); ConnectionFactory.closeConnection(conn, ps); }catch(Exception e){ JOptionPane.showMessageDialog(null, "Erro! Dados não Gravados"); }finally{ txt1.setText(""); txt2.setText(""); comboBox.setSelectedIndex(0); } }

O programa grava normal, só que quando ele fecha a conexão com o “ConnectionFactory.closeConnection(conn,ps)” está dando um erro de Stack OverFlowError. Queria saber o pq do erro

manda a stack de erro inteira…

Consegui resolver aqui.

 public static void closeConnection(Connection conn, PreparedStatement ps)   
	     {  
	         try{  
	        	 ps.close();
	        	 conn.close();
	        	 
	         }catch(Exception e){  
	        	 e.printStackTrace();
	        	 JOptionPane.showMessageDialog(null, "Impossível fechar conexão");  
	             
	         }  
	     }  

Acho que o método de antes estava chamando ele mesmo repetidas vezes e dando o erro StackOverflow