Obtendo os resultados do MapReduce no RIAK (usando o cliente Java)

Estou armazenando POJOs de Person (4 campos de strings - id, name, lastUpdate, Data) no RIAK e, em seguida, tentando buscar esses objetos com MapReduce.

Eu estou fazendo isso muito parecido com a documentação do Basho:

    BucketMapReduce m = riakClient.mapReduce("person");
    m.addMapPhase(new NamedJSFunction("Riak.mapByFields"), true);
    MapReduceResult result = m.execute();
    Collection<Person> tmp = result.getResult(Person.class);

o construtor String da Pessoa é chamado:

public Person(String str){}

(Eu devo ter este construtor, caso contrário eu recebo uma exceção pois está faltando) Lá eu obtenho o objeto como String - os campos do objeto em uma string com um delimitador estranho.

Por que não estou recebendo o objeto automaticamente convertido para o meu POJO? eu realmente preciso passar por cima da string e desserializá-la? estou fazendo algo errado?

questionAnswers(1)

yourAnswerToTheQuestion