When the method called itself in the code, it never returns its value at the end of its method execution, and the value for the newCount is lost.

add the return statement to the matchCheck method....