Como encontrar a substring repetida mais longa de determinada string

Eu sou novo java e me foi dada a tarefa de encontrar a subseqüência mais longa de uma string. Eu pesquiso on-line e parece que uma boa maneira de abordar esse problema será implementar a árvore de sufixos. Por favor, deixe-me saber como posso fazer isso ou se você tiver outras soluções. Tenha em mente que isto é suposto ser feito com baixo nível de conhecimento de java.

Obrigado por antecipação.

P.S. a string do testador é reconfortante.

    /**
This method will find the longest substring of a given string.
String given here is reassuring. 

 */
public String longestRepeatedSubstring()
{
    String longestRepeatedSubstring = "";
    for (int i = 0; i<text.length(); i++ )
    {
        String one = text.substring(0,i); 

        for(int o = 0; o<text.length();o++)
        {
            Sting two = text.substring(0,o);
            if(one.equals(two))
            {
                longestRepeatedSubstring = one;
            }

        }

    }
    return longestRepeatedSubstring; 
}

questionAnswers(2)

yourAnswerToTheQuestion