The direct cause of your error is line 94. You're throwing away the value that was passed in to the method inOrderTraversal, because you always set current_node to root_node there. This leads to an infinite recursive call in line 102. Remove line 94.
Other remarks about your code:
Why are you using an
octal number literal "07" in line 15?
Why do you have member variables root_node, current_node, parent_node and new_node (lines 33 - 36)? Don't make something a member variable unless it really needs to be a member variable; make it a local variable if possible. (For example, new_node does not need to be a member variable).
There is a
naming convention for
Java classes, methods and variables that almost everybody uses: CamelCase for classes, camelCase (with the first letter lower-case) for methods and variables. Don't use underscores in names. I suggest you use the standard naming convention (Node instead of node, leftChild and rightChild instead of left_child, right_child etc.).