in src/main/java/org/apache/maven/plugins/shade/resource/properties/PropertiesTransformer.java [135:166]
private List<Properties> sortProperties() {
final List<Properties> sortedProperties = new ArrayList<>();
boolean foundMaster = false;
for (final Properties current : properties) {
if (alreadyMergedKey != null) {
final String master = current.getProperty(alreadyMergedKey);
if (Boolean.parseBoolean(master)) {
if (foundMaster) {
throw new IllegalStateException(
"Ambiguous merged values: " + sortedProperties + ", " + current);
}
foundMaster = true;
sortedProperties.clear();
sortedProperties.add(current);
}
}
if (!foundMaster) {
final int configOrder = getConfigurationOrdinal(current);
int i;
for (i = 0; i < sortedProperties.size(); i++) {
int listConfigOrder = getConfigurationOrdinal(sortedProperties.get(i));
if ((!reverseOrder && listConfigOrder > configOrder)
|| (reverseOrder && listConfigOrder < configOrder)) {
break;
}
}
sortedProperties.add(i, current);
}
}
return sortedProperties;
}