Lab Task 2: Use the below code and fill it in where appropriate to prompt the user to insert numbers into the tree, display tree nodes, search the tree nodes for a number, and delete a node from the tree. The program must show this message when it starts: Note: traverse has three types. import java.io.*; import java.util.*; class TreeApp { public static void main(String[] args) throws IOException { int value; Tree theTree = new Tree(); while(true) { System.out.print("Enter first letter of show, "); System.out.print("insert, find, delete, or traverse: "); int choice = getChar(); switch(choice) { Prepared by: Enrico V. Angeles Lab Manual No. 9 | Page 8 ICT-2201 | Data Structure & Algorithms A.C. 2022-2023 | Semester 2 value tree System.out.print("Enter value to delete: "); value = getInt(); boolean didDelete = // write the code to delete the node in the if(didDelete) // write the code to for message deleted and display the value else break; case 't': System.out.print("Enter type 1, 2 or 3: "); value = getInt(); // write the code to traverse the tree break; default: System.out.print("Invalid entry\n"); case 's': // write the code to display the tree break; case 'i': System.out.print("Enter value to insert: "); value = getInt(); // write the code to insert the node in the tree break; case 'f': System.out.print("Enter value to find: "); value = getInt(); Node found = // write the code to find the node in the tree if(found != null) { } else break; case 'd': public static String getString() throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = br.readLine(); return s; } public static char getChar() throws IOException { String s = getString(); return s.charAt(0); } public static int getInt() throws IOException { String s = getString(); return Integer.parseInt(s); }.