@Override
	protected void processNoSection(Section section) throws IOException {
		String themeName = section.getValue(ThemeWriter.THEME_NAME_KEY);
		if (themeName == null) {
			throw new IOException("Missing theme name!");
		}
		String lookAndFeelName = section.getValue(ThemeWriter.THEME_LOOK_AND_FEEL_KEY);
		LafType lookAndFeel = LafType.fromName(lookAndFeelName);
		if (lookAndFeel == null) {
			throw new IOException(
				"Invalid or missing lookAndFeel name: \"" + lookAndFeelName + "\"");
		}
		boolean isDark = Boolean.valueOf(section.getValue(ThemeWriter.THEME_USE_DARK_DEFAULTS));

		theme = new GTheme(file, themeName, lookAndFeel, isDark);
		section.remove(ThemeWriter.THEME_NAME_KEY);
		section.remove(ThemeWriter.THEME_LOOK_AND_FEEL_KEY);
		section.remove(ThemeWriter.THEME_USE_DARK_DEFAULTS);
		processValues(theme, section);
	}
Assumes the file is a theme file and reads it.
Ghidra/Framework/Gui/src/main/java/generic/theme/ThemeReader.java