Utilizando o Stanford CoreNLP

Estou tentando me locomover usando o Stanford CoreNLP. Eu usei algum código da Web para entender o que está acontecendo com a ferramenta coreference. Tentei executar o projeto no Eclipse, mas continuo encontrando uma exceção de falta de memória. Tentei aumentar o tamanho da pilha, mas não há nenhuma diferença. Alguma idéia de por que isso continua acontecendo? Esse é um problema específico do código? Quaisquer instruções de uso do CoreNLP seriam incríveis.

EDIT - Código adicionado

import edu.stanford.nlp.dcoref.CorefChain;
import edu.stanford.nlp.dcoref.CorefCoreAnnotations;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;


import java.util.Iterator;
import java.util.Map;
import java.util.Properties;


public class testmain {

    public static void main(String[] args) {

        String text = "Viki is a smart boy. He knows a lot of things.";
        Annotation document = new Annotation(text);
        Properties props = new Properties();
        props.put("annotators", "tokenize, ssplit, pos, parse, dcoref");
        StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
        pipeline.annotate(document);


        Map<Integer, CorefChain> graph = document.get(CorefCoreAnnotations.CorefChainAnnotation.class);



        Iterator<Integer> itr = graph.keySet().iterator();

        while (itr.hasNext()) {

             String key = itr.next().toString();

             String value = graph.get(key).toString();

             System.out.println(key + " " + value);      
        }

   }
}

questionAnswers(6)

yourAnswerToTheQuestion