private Map<String, List<BreezeEvent>> getOuterEvents(Map<String, BreezeEvent> eventMap) {
		Map<String, List<BreezeEvent>> outerEventBuffer = new HashMap<String, List<BreezeEvent>>();
		for (String portId : this.portMap.keySet()) {
			BreezePort port = this.portMap.get(portId);
			if (!port.isInPort())
				continue;
			Map<String, BreezePort> sources = port.getSource();

			for (String sourceKey : sources.keySet()) {
				BreezePort bp = sources.get(sourceKey);
				List<BreezeModeTransition> bmbmts = bp.getOwner().getTransition();

				for (BreezeModeTransition bmt : bmbmts) {
					if (BreezeModeTransition.TRIGGER_TYPE_SEND.equals(bmt.getTriggerType())) {
						eventMap.put(bmt.getTrigger().getId(), bmt.getTrigger());

						String inVar = port.getSmvInName(sourceKey);

						List<BreezeEvent> evtList = outerEventBuffer.get(inVar);
						if (evtList == null) {
							evtList = new LinkedList<BreezeEvent>();
							outerEventBuffer.put(inVar, evtList);
						}
						evtList.add(bmt.getTrigger());
						port.setProperty(inVar, evtList.size());
					}
				}
			}
		}
		return outerEventBuffer;
	}