What happends in this simple Recursion code : I can't seem to understand why does the following code prints 
00
1
10
1

by how i see it,it should print the premutations of 2 binary digits

please,dont fix my code. i want an explanation of why it works the way it is right now.thanks ahead

    public static String addZ(int n)
	{
		String str ="";
		if(n==0)
			return "";
		str += "0" + addZ(n-1)+"\n";
		str += "1" + addZ(n-1);
		return str;
	}