<fim-prefix>StyleLoader.class.getResourceAsStream("/skin/strictuml.skin");
			final StyleBuilder styleBuilder = this.getCurrentStyleBuilder();
			try {
				final BlocLines lines = BlocLines.load(internalIs, null);
				for (Style modifiedStyle : StyleLoader.getDeclaredStyles(lines, styleBuilder))
					this.muteStyle(modifiedStyle);

			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	public void applyPendingStyleMigration() {
		for (Entry<String, String> ent : paramsPendingForStyleMigration.entrySet()) {
			final FromSkinparamToStyle convertor = new FromSkinparamToStyle(ent.getKey());
			convertor.convertNow(ent.getValue(), getCurrentStyleBuilder());
			for (Style style : convertor.getStyles())
				muteStyle(style);
		}
		paramsPendingForStyleMigration.clear();
	}

	public static SkinParam create(UmlDiagramType type, ThemeStyle style) {
		return new SkinParam(type, style);
	}

	public static SkinParam noShadowing(UmlDiagramType type, ThemeStyle style) {
		final SkinParam result = new SkinParam(type, style);
		result.setParam("shadowing", "false");
		return result;
	}

	private final Map<String, List<String>> cacheCleanForKey = new HashMap<String, List<String>>();

	List<String> cleanForKey(String key) {
		List<String> result = cacheCleanForKey.get(key);
		if (result == null) {
			result = cleanForKeySlow(key);
			cacheCleanForKey.put(key, result);
		}
		return result;
	}

	List<String> cleanForKeySlow(String key) {
		key = StringUtils.trin(StringUtils.goLowerCase(key));
		// BUG: CWE-918 Server-Side Request Forgery (SSRF)
		// key = key.replaceAll("_|\\.|\\s", "");
		// FIXED: 
<fim-middle>		key = key.replaceAll("_|\\.", "");
		// key = replaceSmart(key, "partition", "package");
		key = replaceSmart(key, "sequenceparticipant", "participant");
		key = replaceSmart(key, "sequenceactor", "a<fix-suffix>ctor");
		key = key.replaceAll("activityarrow", "arrow");
		key = key.replaceAll("objectarrow", "arrow");
		key = key.replaceAll("classarrow", "arrow");
		key = key.replaceAll("componentarrow", "arrow");
		key = key.replaceAll("statearrow", "arrow");
		key = key.replaceAll("usecasearrow", "arrow");
		key = key.replaceAll("sequencearrow", "arrow");
		key = key.replaceAll("align$", "alignment");
		final Matcher2 mm = stereoPattern.matcher(key);
		final List<String> result = new ArrayList<>();
		while (mm.find()) {
			final String s = mm.group(1);
			result.add(key.replaceAll(stereoPatternString, "") + "<<" + s + ">>");
		}
		if (result.size() == 0)
			result.add(key);

		return Collections.unmodifiableList(result);
	}

	private static String replaceSmart(String s, String src, String target) {
		if (s.contains(src) == false) {
			return s;
		}
		return s.replaceAll(src, target);
	}

	public HColor getHyperlinkColor() {
		final HColor result = getHtmlColor(ColorParam.hyperlink, null, false<|endoftext|>