public Value findSecondLargest(Node<Key,Value> root)
	 {
		 
		 // empty BST or BST only have one node
		 if(root == null || root!=null && root.getRight()==null && root.getLeft()==null )
			 return null;
		
		 Node<Key,Value> t=root;
			 
		 while(t.getRight()!=null && t.getRight().getRight()!=null)
		 {
			t=t.getRight();
		 }
		 
		 // Right child have neigher right or left sub tree
		 if(t.getRight().getLeft()==null)
			 return t.getValue();
		 else if (t.getRight().getLeft()!=null)
		 {
			 return findLargest(t.getRight().getLeft());
		 }else
		 {
			 return null;
		 }

		 
	 }