public void fetchReplicaUsers()
	{
		LOGGER.info("Fetching Replicas for : " + orgMap.size() + " Orgs");
		if(orgMap!=null && orgMap.size()>0)
		{
			XLSHandler orgXLS = new XLSHandler();
			ArrayList<HashMap<String, String>> replicaData = orgXLS.getExcelRows("C:\\temp\\Replicas.xlsx");
			
			//load users in Org from Salesforce.
			for(Org o: orgMap.values())
			{
				o.loadUsersFromSalesforce();
			}
			
			LOGGER.info("Setting Replicas :  ");
			for(HashMap<String, String> liveUserRow: replicaData)
			{
				String rowUserName = liveUserRow.get("USERNAME");												
				String rowUserCode = liveUserRow.get("USERCODE");				
				Org rowOrg = orgMap.get(liveUserRow.get("ORGNAME"));
				User rowUser = rowOrg.users.get(liveUserRow.get("USERNAME"));
				rowUser.setUserCode(rowUserCode);
				LOGGER.info("Replicas for : " + rowUserName + " for " + rowUserCode);								
				
				for(HashMap<String, String> row2: replicaData)
				{
					String rowUserName2 = row2.get("USERNAME");												
					String rowUserCode2 = row2.get("USERCODE");
					Org rowOrg2 = orgMap.get(row2.get("ORGNAME"));
					User rowUser2 = rowOrg2.users.get(row2.get("USERNAME"));
					String username = "";
					if(rowOrg.getOrgName() == rowOrg2.getOrgName())					
						username = rowUserName2;					
					else 
					{
						username = rowUser2.getUserId().toLowerCase() + "." + rowOrg2.getOrgId().toLowerCase() + "@" + rowOrg.getOrgId().toLowerCase() + ".dup"; 
					}
					if(rowOrg.users.containsKey(username))
						{
							
							HashMap<String, User> replicaUsers = rowOrg.replicaUsers.containsKey(rowUser.getUserCode())?rowOrg.replicaUsers.get(rowUser.getUserCode()): new HashMap<String, User>(); 
							replicaUsers.put(rowUserCode2, rowOrg.users.get(username));							
							rowOrg.replicaUsers.put(rowUser.getUserCode(), replicaUsers);
						}										
				}								
			}
			LOGGER.info("Writting Replicas to Sheet: ");
			writeReplicas();
			LOGGER.info("Fetching Replicas Complete");
		}
	}