/**
* Performs stemming and saves the results to the <code>context</code>.
*/
public void stem(PreprocessingContext context)
{
final IStemmer stemmer = context.language.getStemmer();
final char [][] wordImages = context.allWords.image;
final char [][] stemImages = new char [wordImages.length] [];
final MutableCharArray mutableCharArray = new MutableCharArray(CharArrayUtils.EMPTY_ARRAY);
char [] buffer = new char [128];
for (int i = 0; i < wordImages.length; i++)
{
final char [] word = wordImages[i];
if (buffer.length < word.length) buffer = new char [word.length];
final boolean different = CharArrayUtils.toLowerCase(word, buffer);
mutableCharArray.reset(buffer, 0, word.length);
final CharSequence stemmed = stemmer.stem(mutableCharArray);
if (stemmed != null)
{
mutableCharArray.reset(stemmed);
stemImages[i] = context.intern(mutableCharArray);
}