private ArrayList<String> getRelevantOperands(String format) {
		
		ArrayList<String> relevantOps = new ArrayList<String>();
		String[] mnemFormatSplit = format.split("\\s+"); 
		ArrayList<String> mnemFormatTokens = new ArrayList<String>();

		for (String formatTerm : mnemFormatSplit) {
			formatTerm = formatTerm.replaceAll("^,+", "");
			formatTerm = formatTerm.replaceAll(",+$", "");
			if(!formatTerm.isEmpty())
				mnemFormatTokens.add(formatTerm);
		}

		int i = 0;
		boolean found = false;
		boolean optional = false;

		for (ArrayList<String> path : legitAssemblyOpTreePaths) {
			for (String pathTerm : path) {

				if (pathTerm.equals(mnemFormatTokens.get(i)))
					found = true;

				else if ((pathTerm.equals("?")))
					optional = true;				
			}
			
			// Assumes nodes in operand format are not optional
			if(found && !optional){					
				i++;
				relevantOps.add(getAssemblyOperand(path));
			}

			found = false;
			optional = false;
		}

		return relevantOps;
	}