protected void assertProfileConfiguration(
      String version, String profile, String pid, String key, String expectedValue) {
    String file = pid + ".properties";
    byte[] fileConfiguration = dataStore.getFileConfiguration(version, profile, file);
    assertNotNull("fileConfiguration", fileConfiguration);
    Map<String, byte[]> fileConfigurations = dataStore.getFileConfigurations(version, profile);
    assertNotNull("fileConfigurations", fileConfigurations);

    Map<String, String> configuration = dataStore.getConfiguration(version, profile, pid);
    assertNotNull("configuration", configuration);
    Map<String, Map<String, String>> configurations = dataStore.getConfigurations(version, profile);
    assertNotNull("configurations", configurations);

    System.out.println("Configurations: " + configurations);
    System.out.println(pid + " configuration: " + configuration);

    assertMapContains("configuration", configuration, key, expectedValue);
    assertFalse("configurations is empty!", configurations.isEmpty());
    assertFalse("fileConfigurations is empty!", fileConfigurations.isEmpty());

    Map<String, String> pidConfig = configurations.get(pid);
    assertNotNull("configurations should have an entry for pid " + pid, pidConfig);
    assertMapContains("configurations[" + pid + "]", pidConfig, key, expectedValue);

    byte[] pidBytes = fileConfigurations.get(file);
    assertNotNull("fileConfigurations should have an entry for file " + file, pidConfig);
    assertTrue(
        "should have found some bytes for fileConfigurations entry for pid " + pid,
        pidBytes.length > 0);

    assertEquals(
        "sizes of fileConfiguration.length and fileConfigurations[" + file + "].length",
        fileConfiguration.length,
        pidBytes.length);
  }
 protected void assertProfileTextFileConfigurationContains(
     String version, String profile, String fileName, String expectedContents) {
   byte[] bytes = dataStore.getFileConfiguration(version, profile, fileName);
   String message = "file " + fileName + " in version " + version + " profile " + profile;
   assertNotNull("should have got data for " + message, bytes);
   assertTrue("empty file for file for " + message, bytes.length > 0);
   String text = new String(bytes);
   assertTrue(
       "text file does not contain " + expectedContents + " was: " + text,
       text.contains(expectedContents));
 }