List<Value> (CodeStyleSettings settings, Language language) { final CommonCodeStyleSettings commonSettings = settings.getCommonSettings(language); CommonCodeStyleSettings.IndentOptions indentOptions = commonSettings.getIndentOptions(); if (indentOptions == null) { Utils.logError("IndentOptions from common settings are null; using indent options from settings."); indentOptions = settings.getIndentOptions(); } final Object languageSettings = Utils.getLanguageSettings(settings, language); List<Value> values = readAll("commonSettings", commonSettings); if (languageSettings != null) { values.addAll(readAll("languageSettings", languageSettings)); } final LanguageCodeStyleSettingsProvider provider = LanguageCodeStyleSettingsProvider.forLanguage(language); if (provider != null) { final Set<String> supportedFields = provider.getSupportedFields(); List<Value> cvalues = new ArrayList<>(values.size()); for (Value value : values) { if (supportedFields.contains(value.name)) { cvalues.add(value); } } values = cvalues; } List<Value> valuesOrder = readAll("indentOptions", indentOptions); valuesOrder.addAll(values); return valuesOrder; }