@Override
	public void readAssemblyFile() {
		String line;
		Scanner s = null;
		boolean leadingCommentsFinished = false; //To signal end of any leading comments

	    try {
	        s = new Scanner(new BufferedReader(new FileReader(fileReference)));
	
	        while (s.hasNextLine()) {	        	
	        	line = s.nextLine();
	        	if (!leadingCommentsFinished && line.length() != 0) {
	        		if (line.startsWith("#")) {
	        			leadingComments.add(line); //Add any comments at beginning of file to separate list for better display        			
	        		}
	        		else {
	        			leadingCommentsFinished = true;
	        		}
	        	}
	        	if (leadingCommentsFinished) { //Don't add leading comments to programString
	        		if (line.matches("[\\s]*")) { //Detect lines consisting of only blank spaces 
	        			displayProgram.add(line); //Ok to add blank lines to the list of code for GUI display
	        		}
	        		else { //Do not add lines consisting of only blank spaces to programString
	        			programString.add(line);
	        			displayProgram.add(line);
	        		}
	        	
	        	}
	        }
	    } 
	    catch (FileNotFoundException ex) {
	    	this.fileReference = null;
	    	JOptionPane.showMessageDialog(null, "File not found!", "Error!", JOptionPane.WARNING_MESSAGE);
	    }	    
	    finally {
	    	if (s != null) {
	    		s.close();
	    	}
	    }
	}