various other methodsincluding accessor method sibling( )which returns the sibling of node vand the following update methodsaddroot( )create and return new node storing element and make the root of the treean error occurs if the tree is not empty insertleft( , )create and return new node storing element eadd as the the left child of and return wan error occurs if already has left child insertright( , )create and return new node storing element eadd as the the right child of and return zan error occurs if already has right child remove( )remove node vreplace it with its childif anyand return the element stored at van error occurs if has two children attach( , , )attach and respectivelyas the left and right subtrees of the external node van error condition occurs if is not external class linkedbinarytree has constructor with no arguments that returns an empty binary tree starting from this empty treewe can build any binary tree by creating the first node with method addroot and repeatedly applying the insertleft and insertright methods and/or the attach method likewisewe can dismantle any binary tree using the remove operationultimately reducing such tree to an empty binary tree when position is passed as an argument to one of the methods of class linkedbinarytreeits validity is checked by calling an auxiliary helper methodcheckposition(va list of the nodes visited in preorder traversal of the tree is constructed by recursive method preorderpositions error conditions are indicated by throwing exceptions invalid position exceptionboundaryviolation exceptionemptytreeexceptionand nonemptytreeexception code fragment portions of the linked binary tree classwhich implements the binary tree interface (continues in code fragment