public void updateList(String remoteMachineID, MemberList incomingMemberList) {
		
		int localIndex=-1,otherIndex=0;
		String currentIP;
		int localMemberListsize = this.memList.size();
		int incomingMemberListsize = incomingMemberList.memList.size();
			
		for ( otherIndex = 0; otherIndex < incomingMemberListsize; otherIndex++ ) {
			currentIP = incomingMemberList.memList.get(otherIndex).getMachineID();

			for (int i = 0; i < localMemberListsize; i++ ) { // if localIndex == -1, entry not found in the local gossip table
				if (this.memList.get(i).getMachineID().equals(currentIP)){
					localIndex = i;
					break;
				}
				
			}

			if (localIndex >= 0 && incomingMemberList.memList.get(otherIndex).getHeartBeat() > this.memList.get(localIndex).getHeartBeat() && incomingMemberList.memList.get(otherIndex).getDeletionStatus() == false)
			{
				if(this.memList.get(localIndex).getDeletionStatus() == true) {
					this.memList.get(localIndex).setDeletionStatus(false);
					FaultRateCalculator.falseDetections++;
					//System.out.println("falseDetections" + Integer.valueOf(FaultRateCalculator.falseDetections));
				}			
				this.memList.get(localIndex).updateHeartBeat(incomingMemberList.memList.get(otherIndex).getHeartBeat());
				this.memList.get(localIndex).setlocalTimeStamp();
			}

			else if(localIndex < 0 && incomingMemberList.memList.get(otherIndex).getDeletionStatus() == false) {
				this.memList.add(new MemberListEntry(currentIP));
				int currentSize = this.memList.size()-1;
				this.memList.get(currentSize).setMachineID(currentIP);
				this.memList.get(currentSize).setHeartBeat(incomingMemberList.memList.get(otherIndex).getHeartBeat());
				this.memList.get(currentSize).setlocalTimeStamp();  // To be confirmed.
				this.memList.get(currentSize).setDeletionStatus(false);	
				
			}
	}
		
	}