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); }