### Question:
ApostropheEscapingPropertiesPersister implements
        PropertiesPersister { @Override public void load(Properties props, InputStream is) throws IOException { props.load(is); escape(props); }  @Override void load(Properties props, InputStream is); @Override void load(Properties props, Reader reader); @Override void store(Properties props, OutputStream os, String header); @Override void store(Properties props, Writer writer, String header); @Override void loadFromXml(Properties props, InputStream is); @Override void storeToXml(Properties props, OutputStream os, String header); @Override void storeToXml(Properties props, OutputStream os, String header,
            String encoding);  }### Answer:
@Test public void testLoadPropertiesInputStream() throws Exception { final Properties props = new Properties(); try (final InputStream stream = new ByteArrayInputStream( "p1=v'alue'1\np2=va\"lue2\np3=test{content}and 'so on" .getBytes())) { testee.load(props, stream); } assertThat(props.get("p1")).isEqualTo("v''alue''1"); assertThat(props.get("p2")).isEqualTo("va\"lue2"); assertThat(props.get("p3")).isEqualTo("test'{'content'}'and ''so on"); }
@Test public void testLoadPropertiesReader() throws Exception { final Properties props = new Properties(); try (final Reader stream = new InputStreamReader(new ByteArrayInputStream( "p1=v'alue'1\np2=va\"lue2".getBytes()))) { testee.load(props, stream); } assertThat(props.get("p1")).isEqualTo("v''alue''1"); assertThat(props.get("p2")).isEqualTo("va\"lue2"); }