code: private static Token[] tokensSubArray(Sentence sentence, int lower,
  			int upper, boolean considerChunk) {
  		List<Token> rootTokens = sentence.getTokens().subList(lower, upper + 1);
  		if (considerChunk) {
  			List<Token> resp = new ArrayList<Token>(rootTokens.size());
  			for (int i = 0; i < rootTokens.size(); i++) {
  				resp.addAll(getTokensRecursively(rootTokens.get(i)));
  			}
  			return rootTokens.toArray(new Token[rootTokens.size()]);
  		}
  
  		return rootTokens.toArray(new Token[rootTokens.size()]);
  	}
docs: Gets the tokens from the <code>tokens</code> array which are between
  <code>lower</code> and <code>upper</code> positions.
  
  @param sentence
  the sentence containing the desired tokens
  @param lower
  the index of the first token to be included in the slice
  @param upper
  the index of the last token to be included in the slice
  @return an array containing the desired tokens