public synchronized boolean collect(int id){
	while ( buffer[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) );
	return buffer[id-1] != null; // message was recieved.. otherwise is suspected
	
    }