	public void run() {
		while (!shutdown) {
			if (!isEmpty()) {
				flowSpace = getFlowMap();
				Iterator<Entry<Integer, List<FlowEntry>>> it = this.entrySet().iterator();
				while (it.hasNext()) {
					Entry<Integer, List<FlowEntry>> entry = it.next();
					for (FlowEntry fentry : entry.getValue()) {
						try {
							FlowSpaceImpl.getProxy().addRule(fentry);
							flowSpace.addRule(fentry);
							String logMsg = "User " + APIUserCred.getUserName() + 
									flowspaceAddChangeLogMessage(fentry.getDpid(), 
											fentry.getRuleMatch(), fentry.getPriority(),
											fentry.getActionsList(), fentry.getName());
							FVLog.log(LogLevel.INFO, null, logMsg);
						} catch (ConfigError e) {
							FVLog.log(LogLevel.WARN, null, e.getMessage());
						}
					}
					FlowSpaceImpl.getProxy().notifyChange(flowSpace);
					it.remove();
				}
			}
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				FVLog.log(LogLevel.DEBUG, null, "Shutting down FlowSpace handler; exiting.");
				break;
			}
		}
	}

	public void run() {
		while (!shutdown) {
			if (!isEmpty()) {
				flowSpace = getFlowMap();
				Iterator<Entry<Integer, List<FlowEntry>>> it = this.entrySet().iterator();
				while (it.hasNext()) {
					Entry<Integer, List<FlowEntry>> entry = it.next();
					for (FlowEntry fentry : entry.getValue()) {
						try {
							FlowSpaceImpl.getProxy().addRule(fentry);
							flowSpace.addRule(fentry);
							String logMsg = "User " + APIUserCred.getUserName() + 
									flowspaceAddChangeLogMessage(fentry.getDpid(), 
											fentry.getRuleMatch(), fentry.getPriority(),
											fentry.getActionsList(), fentry.getName());
							FVLog.log(LogLevel.INFO, null, logMsg);
						} catch (ConfigError e) {
							FVLog.log(LogLevel.WARN, null, e.getMessage());
						}
					}
					FlowSpaceImpl.getProxy().notifyChange(flowSpace);
					it.remove();
				}
			}
			try {
				Thread.sleep(200);
			} catch (InterruptedException e) {
				FVLog.log(LogLevel.DEBUG, null, "Shutting down FlowSpace handler; exiting.");
				break;
			}
		}
	}
