Recursion: Recursion outcomes from a method being invoked whenever an existing call to the similar method has not yet returned. For example:
public static void countDown(int n){
if(n >= 0){
System.out.println(n);
countDown(n-1);
}
// else - base case. End of recursion.
}