private ArrayList<String> getSenderList() {
		int count=0;
		int noOfSenders=0;
		ArrayList<String> allIPs = new ArrayList<String>();
		ArrayList<String> senderIPs = new ArrayList<String>();
		read.lock();
		  try {
				for (int i=0; i<localMemberList.getSize(); i++)
				{
					if(localMemberList.getFullList().get(i).isAlive() && !localMemberList.getFullList().get(i).getMachineID().equals(localMachineID))
						{
							count++;
							allIPs.add(localMemberList.getFullList().get(i).getMachineIP());
						}
				}
				
		  } finally {
		    read.unlock();
		    //System.out.println("Got some issues in trying to read the membership list");
		  }
		  if(count < 2 && count > 0)
		  {
			  noOfSenders = 1;
		  }
		  else if(count >= 2)
		  {
			   noOfSenders = count/2;
		  }
		  Collections.shuffle(allIPs);
		  for(int i=0; i<noOfSenders; i++)
			  senderIPs.add(allIPs.get(i));
		  
		  return senderIPs;
		  
	
	}