BaseColor getBadgeBackgroundColor() {
		String badgeBackgroundColorString = null;
		if (detectBadgeTypeFromName) {
			final String adultLeaderBadgeTag = PropertyFileReader.getProperty(
					"adultLeaderBadgeTag", "A_");
			final String youthCounselorBadgeTag = PropertyFileReader
					.getProperty("youthCounselorBadgeTag", "Y_");
			final String specialNeedsYouthBadgeTag = PropertyFileReader
					.getProperty("specialNeedsYouthBadgeTag", "S_");

			if (fileName.contains(adultLeaderBadgeTag)) {
				badgeBackgroundColorString = PropertyFileReader.getProperty(
						"badgeBackgroundColorAdultLeader", "#FFFFFF");
				fileNameWithoutPrefix = fileName.replace(adultLeaderBadgeTag,
						"");
			} else if (fileName.contains(youthCounselorBadgeTag)) {
				badgeBackgroundColorString = PropertyFileReader.getProperty(
						"badgeBackgroundColorYouthCounselor", "#FFFA83");
				fileNameWithoutPrefix = fileName.replace(
						youthCounselorBadgeTag, "");
			} else if (fileName.contains(specialNeedsYouthBadgeTag)) {
				badgeBackgroundColorString = PropertyFileReader.getProperty(
						"badgeBackgroundColorSpecialNeedsYouth", "#CADBFE");
				fileNameWithoutPrefix = fileName.replace(
						specialNeedsYouthBadgeTag, "");
			}

			// If the background color string is still null, then the badge type
			// was not specified.
			// Kill the process.
			if (badgeBackgroundColorString == null
					|| fileNameWithoutPrefix == null) {
				throw new IllegalStateException(
						String.format(
								"Name badge picture '%s' did not contain a filename tag. Tags are necessary for determining badge type.",
								filePath + fileSeparator + fileName));
			}

			currentFile = new File(filePath + fileSeparator + fileName);
			renamedFile = new File(filePath + fileSeparator
					+ fileNameWithoutPrefix);
			return WebColors.getRGBColor(badgeBackgroundColorString);
		}
		return badgeColor;
	}