Index out of bound error with list?
===

So I have this code:

    Dim FileFilter As String = ""
    Dim LogTypes As List(Of String) = New List(Of String)
    Dim LogData As List(Of List(Of String)) = New List(Of List(Of String))
    Private Sub DateTimePicker1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles DateTimePicker1.ValueChanged
        'filefilter stuff creation here works great
        Dim xxx As List(Of String)
        xxx = FileHelper.GetFilesRecursive(FileFilter, "C:\Users\Rafal\Pliki\NewExe\logs\")
        LogTypes.Clear()
        LogData.Clear()
        CheckedListBox1.Items.Clear()
        For i As Integer = 0 To xxx.Count - 1 Step 1
            If LogTypes.Contains(xxx(i).Replace("C:\Users\Rafal\Pliki\NewExe\logs\", "").Replace(FileFilter, "")) = False Then
                LogTypes.Add(xxx(i).Replace("C:\Users\Rafal\Pliki\NewExe\logs\", "").Replace(FileFilter, ""))
            End If
            CheckedListBox1.Items.Add(xxx(i).Replace("C:\Users\Rafal\Pliki\NewExe\logs\", "").Replace(FileFilter, ""))
            CheckedListBox1.SetItemChecked(i, True)
            Dim LogDataTemp As String() = System.IO.File.ReadAllText(xxx(i)).Split(vbCrLf)
            Dim index As Integer = LogTypes.IndexOf(xxx(i).Replace("C:\Users\Rafal\Pliki\NewExe\logs\", "").Replace(FileFilter, ""))
            For v As Integer = 0 To LogDataTemp.Length - 1 Step 1
                LogData(index).Add(LogDataTemp(v))
            Next
        Next
        For Each element As String In LogTypes
            For Each x As String In LogData(element)
                RichTextBox1.Text += x + vbNewLine
            Next
        Next
    End Sub

and crashes at:

                LogData(index).Add(LogDataTemp(v))

I tried different ways to add data, what I want is:
LogData(LogType)(StringData) but I don't realy know how to create this now.
LogType is a string, but I can make an index of it, right? LogTypes at least contains some list like:
     "CHAT",
     "JOINS",
     "DISCONNECTS"
     
I'm don't know how to tackle the problem, any suggestions?

________--
this is the filehelper class if you need it:

    Public Class FileHelper

    ''' <summary>
    ''' This method starts at the specified directory, and traverses all subdirectories.
    ''' It returns a List of those directories.
    ''' </summary>
    Public Shared Function GetFilesRecursive(ByVal Filter As String, ByVal initial As String) As List(Of String)
        ' This list stores the results.
        Dim result As New List(Of String)

        ' This stack stores the directories to process.
        Dim stack As New Stack(Of String)

        ' Add the initial directory
        stack.Push(initial)

        ' Continue processing for each stacked directory
        Do While (stack.Count > 0)
            ' Get top directory string
            Dim dir As String = stack.Pop
            Try
                ' Add all immediate file paths
                'result.AddRange(Directory.GetFiles(dir, "*.*"))
                result.AddRange(Directory.GetFiles(dir, "*" + Filter))
                ' Loop through all subdirectories and add them to the stack.
                Dim directoryName As String
                For Each directoryName In Directory.GetDirectories(dir)
                    stack.Push(directoryName)
                Next

            Catch ex As Exception
            End Try
        Loop

        ' Return the list
        Return result
    End Function
    Public Function ConvertToTimestamp(ByVal value As DateTime) As Double

        'create Timespan by subtracting the value provided from
        'the Unix Epoch
        Dim span As TimeSpan = (value - New DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime())

        'return the total seconds (which is a UNIX timestamp)
        Return span.TotalSeconds
    End Function

    End Class