public synchronized Cont collect(int id){
	
	while ( buffer_v[id-1] == null && !faliureDetector.isSuspect(id)){
	    try{
		Utils.out(pid, "waiting for " + id + " "+ faliureDetector.isSuspect(id));
		wait();
	    }catch (InterruptedException e){
		Utils.out(pid,"interrupted exception");
	    }
	}
	
	Utils.out(pid,"wait over"+ faliureDetector.isSuspect(id) );
	
	Cont cont = new Cont();
	cont.v = buffer_v[id-1];
	cont.d = buffer_d[id-1];
	cont.ret = buffer_v[id-1] != null;
	return cont;
	// message was recieved.. otherwise is suspected

	
     }