### Question:
UpgradeServerDefaultsStep extends AbstractUpgradeStep { protected Map<String, String> calculateAddedServerDefaults(Map<String, String> newDefaults, Map<String, String> existingDefaults) { Map<String, String> addedValues = new HashMap<String, String>(); for (Map.Entry<String, String> newAttr : newDefaults.entrySet()) { if (!existingDefaults.containsKey(newAttr.getKey())) { addedValues.put(newAttr.getKey(), newAttr.getValue()); } } return addedValues; } @Inject  UpgradeServerDefaultsStep(final PrivilegedAction<SSOToken> adminTokenAction,
            @DataLayer(ConnectionType.DATA_LAYER) final ConnectionFactory connectionFactory); @Override boolean isApplicable(); @Override void initialize(); @Override void perform(); @Override String getShortReport(String delimiter); @Override String getDetailedReport(String delimiter);  }### Answer:
@Test public void testAddedDefaults() throws Exception { Map<String, String> addedDefaults = upgradeStep.calculateAddedServerDefaults(getNewDefaults(), getExistingDefaults()); assertThat(addedDefaults).isNotNull().hasSize(1); assertThat(addedDefaults.get("b")).isNotNull().isEqualTo("c"); }