public void AgregarDocumento(Documento doc) { LinkedListNode <Documento> nuevoNodo = new LinkedListNode <Documento>(doc); //Primero busco en la List un documento con la misma prioridad LinkedListNode <Documento> marcador = BuscarMarcador(doc.Prioridad); //No encontre ninguno con prioridad igual o menor por lo tanto éste nodo debe ser el primero en la LinkedList if (marcador == null) { Marcadores.Add(nuevoNodo); Documentos.AddFirst(nuevoNodo); } //Si encontré un nodo, lo uso como referencia para agregar el nuevo a la LinkedList else { Documentos.AddAfter(marcador, nuevoNodo); //Para los marcadores tengo que fijarme si el nodo que recuperé tiene la misma prioridad que el que estoy agregando //Si es así, tengo que quitar el existente para reemplazar. Si no, sólo agrego if (marcador.Value.Prioridad == nuevoNodo.Value.Prioridad) { Marcadores.Remove(marcador); } Marcadores.Add(nuevoNodo); } }