protected void addHeader()
	{
		String theHeader = "";
		if (HumboldtJS.preInitFile != "") {
			File inFile = getFile(HumboldtJS.preInitFile);
			if (inFile == null) {
				HumboldtJS.showError("Cannot find file: " + HumboldtJS.preInitFile);
			}
			
			byte[] buffer = loadFile(inFile, HumboldtJS.preInitFile);

			theHeader += new String(buffer) + "\n\n";
			
			HumboldtJS.preInitFile = "";
			
		}
		if (mIsApplication) {
			HumboldtJS.showLog("Generating JS language features header", 2);

			if (HumboldtJS.languageFeaturesFile != "") {
				InputStream theFile = HumboldtJS.class.getResourceAsStream(HumboldtJS.languageFeaturesFile);
				
				if (theFile == null) {
					HumboldtJS.showError("Cannot find file: " + HumboldtJS.languageFeaturesFile);
				}
				
				try {
					byte[] buffer = new byte[(int) theFile.available()];
					
					try {
						BufferedInputStream inputStream = new BufferedInputStream(theFile);
						inputStream.read(buffer);
						
						theHeader += new String(buffer) + "\n\n";
					} catch (Exception e) {
						HumboldtJS.showError("Could not access file: " + HumboldtJS.languageFeaturesFile);
					}

				} catch (Exception e) {
					HumboldtJS.showError("Could not create buffer for file: " + HumboldtJS.languageFeaturesFile);
				}
			}

			if (!mCode.mAppArgs.equals("noinit")) {
				HumboldtJS.showLog("Application will auto-initialize", 2);
				theHeader += "__hjs.autoInit(\"" + mCode.getFullClass() + "\");\n";
			}

		}

		if (mIsApplication) {
			theHeader += "__hjs.app(\"" + mCode.getFullClass() + "\");\n";
			mFullClass = mCode.getFullClass();
		}
		
		mOutput = theHeader + mOutput;
	}