@Override
	public boolean condition(Event E) {
		if (E instanceof ContextEvent){
			ContextEvent event = (ContextEvent)E;
			
			if (event.getContext() == context){
				if (event.getContext().isEnabled()){
					if(!event.getContext().isStalled()){
						// Can't list duplicate entries for instructions re-executed due to migration!
						// Hack: Assume single-instruction loops do not exist, track previous PC
						if (startup || (event.getContext().getPC() != prevPC)){
							startup = false;
							prevPC = event.getContext().getPC();
							
							Instruction instruction;
							try {
								instruction = sim.getMachine().fetch(context.getPC());
								
								if (instruction instanceof LoadInstruction){
									return true;
								} else if (instruction instanceof StoreInstruction){
									return true;
								} 
							} catch (Exception e) {
								// nothing
							}
						}
					}
				}
			}
		} 
		
		return false;
	}