I don't know of anything wrong programatically, but logically I think you should re-work your code. Instead of calling the PrintInfo() function recursivly I think you should use a for or foreach statement to loop through all the items in your list....