Ayuda!!!!

Sebasti?
20 de Octubre del 2005
este código debería ordenar un arraylist, pero no lo hace!, he tratado hace ya mucho rato y no puedo encontrar el error; les agradecería si alguien me pudiera decir cual es el error.

PD: Necesito usar este algoritmo para ordenar el arraylist, no puedo usar otro porque es para un trabajo

Dim i As Integer, j As Integer
Dim unDocumento As Documento
i = 0
j = 0
Do While i < Me.a_Documentos.Count
unDocumento = Me.a_Documentos.Item(i)
j = 1
Do While j <= i - 1
If unDocumento.Fecha < CType(Me.a_Documentos.Item(j), Documento).Fecha Then
Me.a_Documentos.RemoveAt(i)
Me.a_Documentos.Insert(j, unDocumento)
j = i
End If
j = j + 1
Loop
i = i + 1
Loop