protected String decoratedRegion(CompoundRegion region, int type, CSSCleanupStrategy stgy) {
    if (isFormat()) return region.getText();

    Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();

    String text = null;
    if (!stgy.isFormatSource()) text = region.getFullText();
    else text = region.getText();

    String regionType = region.getType();
    if (regionType == CSSRegionContexts.CSS_URI
        || regionType == CSSRegionContexts.CSS_DECLARATION_VALUE_URI) {
      String uri = CSSLinkConverter.stripFunc(text);

      boolean prefIsUpper =
          preferences.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER)
              == CSSCorePreferenceNames.UPPER;
      boolean upper =
          (type == 0)
              ? prefIsUpper
              : ((type == 1)
                  ? preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME)
                      == CSSCorePreferenceNames.UPPER
                  : preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE)
                      == CSSCorePreferenceNames.UPPER);
      String func = text.substring(0, 4);
      if (isCleanup()) {
        upper =
            ((type == 0)
                    ? stgy.getIdentCase()
                    : ((type == 1) ? stgy.getPropNameCase() : stgy.getPropValueCase()))
                == CSSCleanupStrategy.UPPER;
        func =
            ((type == 0)
                        ? stgy.getIdentCase()
                        : ((type == 1) ? stgy.getPropNameCase() : stgy.getPropValueCase()))
                    == CSSCleanupStrategy.ASIS
                ? text.substring(0, 4)
                : (upper ? "URL(" : "url("); // $NON-NLS-2$//$NON-NLS-1$
      }
      if ((!isCleanup() && preferences.getBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI))
          || (isCleanup() && stgy.isQuoteValues())) {
        String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
        quote = CSSUtil.detectQuote(uri, quote);
        text = func + quote + uri + quote + ")"; // $NON-NLS-1$
      } else if (isCleanup() && !stgy.isQuoteValues()) {
        text = func + CSSLinkConverter.removeFunc(text) + ")"; // $NON-NLS-1$
      } else {
        text = func + uri + ")"; // $NON-NLS-1$
      }
    } else if (region.getType() == CSSRegionContexts.CSS_STRING
        && (!isCleanup() || stgy.isQuoteValues())) {
      String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
      // begginning
      if (!text.startsWith(quote)) {
        if (text.startsWith("\"") || text.startsWith("\'")) // $NON-NLS-1$ //$NON-NLS-2$
        text = quote + text.substring(1);
        else text = quote + text;
      }
      // ending
      if (!text.endsWith(quote)) {
        if (text.endsWith("\"") || text.endsWith("\'")) // $NON-NLS-1$ //$NON-NLS-2$
        text = text.substring(0, text.length() - 1) + quote;
        else text = text + quote;
      }
    }
    return text;
  }