JXTA com CMS

Estou tentando executar um exemplo de compartilhador de arquivos que Utiliza JXTA com CMS, no entanto não tenho sucesso quando se trata da busca do arquivo (note que a publicação ocorre corretamente).

como posso resolver este problema.


import java.io.File;
 
 import net.jxta.peergroup.NetPeerGroupFactory;
 import net.jxta.peergroup.PeerGroup;
 import net.jxta.share.CMS;
 import net.jxta.share.ContentAdvertisement;
 import net.jxta.share.ContentManager;
 import net.jxta.share.client.CachedListContentRequest;
 
 
 public class ClasseExemplo{
 	
 	private CMS cms = null;
 	private PeerGroup peerGroup = null;
 	private int numeroPublicacoes = 0;
 	
 	
 	public ClasseExemplo(File file, String nomeBusca){
 		startJXTA();
 		iniciaSessaoCMS();
 		publicaArquivo(file);
 		verificaPublicacao();
 		iniciaBusca(nomeBusca);
 	}
 	
 	
 	public void startJXTA(){
 		System.out.print("Iniciando JXTA ... ");
 		try {
 			peerGroup = new NetPeerGroupFactory().getInterface();
 		} catch (Exception e) {
 			System.out.println("Falhou");
 			e.printStackTrace();
 			System.exit(1);
 		}
 		System.out.println("[OK]");
 	}
 	
 	
 	public void iniciaSessaoCMS(){
 		System.out.print("Iniciando Sessão CMS ... ");
 		try {
 			cms = new CMS();
 			cms.init(peerGroup, null, peerGroup.getPeerGroupAdvertisement());
 			cms.startApp(new File("cliente"));
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 		System.out.println("[OK]");
 	}
 	
 	
 	public void publicaArquivo(File file){
 		System.out.print("Publicando arquivo ... ");
 		try {
 			ContentManager contentManager = cms.getContentManager();
 			numeroPublicacoes = contentManager.getContent().length;
 			contentManager.share(file);
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 		System.out.println("[OK]");
 	}
 	
 	public void verificaPublicacao(){
 		System.out.print("Verificando a publicação do arquivo ... ");
 		try {
 			ContentManager contentManager = cms.getContentManager();
 			if(contentManager.getContent().length > numeroPublicacoes){
 				System.out.println("[Confirmada]");
 				System.out.println("\t Existem "+contentManager.getContent().length+" publicações.");
 			} else {
 				System.out.println("[Não Confirmada]");
 			}
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 	}
 	
 	public void iniciaBusca(String fileName){
 		System.out.print("Iniciando Busca ... ");
 		try{
 			ListRequestor requestor = new ListRequestor(peerGroup,fileName);
 			requestor.activateRequest();
 			requestor.getResults();
 			System.out.println("[OK]");
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 	}
 	
 	/**
 	 * Metodo Principal da Classe
 	 */
 	public static void main(String[] args){
 		File file =  new File("D:/Documentos/espanhol.txt");
 		String nomeBusca = "espanhol.txt";
 		
 		new ClasseEcemplo(file, nomeBusca);
 	}
 }
 
 class ListRequestor extends CachedListContentRequest{
 
 	public ListRequestor(PeerGroup group, String nomeBuscar) {
 		super(group, nomeBuscar);
 	}
 	
 	
 	public void notifyMoreResults(){
 		try {
 			ContentAdvertisement[] searchResults = getResults();
 			System.out.println("Número de arquivos encontrados: "+searchResults.length);
 		} catch (Exception e) {
 			System.out.println("FAlha no sistema");
 			e.printStackTrace();
 			System.exit(1);
 		}
 	}
 	
 	public void notifyDone() {
 		System.out.println("Requestor done");
 	} 
 	
 }