public void notify(Object producer, String name, Object data) {
		if (isEnabled()) {
			StringTokenizer tokenizer = new StringTokenizer(name, SEPARATOR);
			StringBuilder builder = new StringBuilder();
			while (tokenizer.hasMoreTokens()) {
				builder.append(tokenizer.nextToken());
				String value = builder.toString();
				builder.append(SEPARATOR);
				HashSet<NotifierTarget> set = mProductionMap.get(value);
				if (set != null) {
					int size = set.size();
					if (size > 0) {
						NotifierTarget[] targets = set.toArray(new NotifierTarget[size]);
						Arrays.sort(targets, this);
						for (NotifierTarget target : targets) {
							target.handleNotification(producer, name, data);
						}
					}
				}
			}
		}
	}