Span[][] tokensBySentence = new Span[document.size()][];
Span[][] namesBySentence = new Span[document.size()][];
for (int i = 0; i < document.size(); i++) {
NameSample sample = document.get(i);
namesBySentence[i] = sample.getNames();
int sentenceBegin = text.length();
Span[] tokens = new Span[sample.getSentence().length];
// for all tokens
for (int ti = 0; ti < sample.getSentence().length; ti++) {
int tokenBegin = text.length();
text.append(sample.getSentence()[ti]);
text.append(" ");
tokens[i] = new Span(tokenBegin, text.length());
}
tokensBySentence[i] = tokens;