private Object inserta(NodoRamaArbol nodo, RamaArbol rama)
 {
     if (rama.esHoja())
     {
         rama.insertar(nodo);
         if (rama.getCuenta() == 5)
         {
             return(dividir(rama));
         }
         else
         {
             return(rama);
         }
     }
     else
     {
         NodoRamaArbol temp = rama.getPrimero();
         do
         {
             if (nodo.getIdTransaccion().CompareTo(temp.getIdTransaccion()) == 0)
             {
                 return(rama);
             }
             else if (nodo.getIdTransaccion().CompareTo(temp.getIdTransaccion()) < 0)
             {
                 Object obj = inserta(nodo, temp.getIzquierda());
                 if (obj is NodoRamaArbol)
                 {
                     rama.insertar((NodoRamaArbol)obj);
                     if (rama.getCuenta() == 5)
                     {
                         return(dividir(rama));
                     }
                 }
                 return(rama);
             }
             else if (temp.getSiguiente() == null)
             {
                 Object obj = inserta(nodo, temp.getDerecha());
                 if (obj is NodoRamaArbol)
                 {
                     rama.insertar((NodoRamaArbol)obj);
                     if (rama.getCuenta() == 5)
                     {
                         return(dividir(rama));
                     }
                 }
                 return(rama);
             }
             temp = temp.getSiguiente();
         } while (temp != null);
     }
     return(rama);
 }