private void Insert(int ActualPosicion, T data)
        {
            Nodo <T> node = new Nodo <T>();

            node = node.LecturaNodo(this.Ruta, this.Orden, this.Raiz, ActualPosicion, this.createFixedSizeText);
            if (node.PosicionDentroNodo(data) != 1)
            {
                throw new ArgumentException("El valor se encuentra creado con anterioridad dentro del nodo");
            }
            if (node.EsHoja)
            {
                UpData(node, data, MetodosNecesarios.NullPointer);
                EscrituraEncabezado();
            }
        }
        private Nodo <T> Obtener(int PosicionActual, out int posicion, T data)
        {
            Nodo <T> NActual = new Nodo <T>();

            NActual.LecturaNodo(this.Ruta, this.Orden, this.Raiz, PosicionActual, this.createFixedSizeText);
            posicion = NActual.PosicionDentroNodo(data);
            if (posicion != -1)
            {
                return(NActual);
            }
            else
            {
                if (NActual.EsHoja)
                {
                    return(null);
                }
                else
                {
                    int PosicionAproximada = NActual.PosicionAproximada(data);
                    return(Obtener(NActual.Hijos[PosicionAproximada], out posicion, data));
                }
            }
        }