### Question:
DefaultConfigurationSnapshot implements ConfigurationSnapshot, Serializable { @Override public ConfigurationContext getContext() { return snapshot.getContext(); } DefaultConfigurationSnapshot(Configuration config, Iterable<String> keys);  DefaultConfigurationSnapshot(Configuration config); @Override ConfigurationSnapshot getSnapshot(Iterable<String> keys); @Override Set<String> getKeys(); @Override String get(String key); @Override String getOrDefault(String key, String defaultValue); @Override T getOrDefault(String key, Class<T> type, T defaultValue); @SuppressWarnings("unchecked") @Override T get(String key, Class<T> type); @Override T get(String key, TypeLiteral<T> type); @Override T getOrDefault(String key, TypeLiteral<T> type, T defaultValue); @Override Map<String, String> getProperties(); @Override ConfigurationContext getContext(); @Override long getTimestamp(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); UUID getId();  }### Answer:
@Test public void testGetContext() { Configuration config = Configuration.current(); DefaultConfigurationSnapshot snapshot = new DefaultConfigurationSnapshot(config, Arrays.asList("confkey1", "confkey2", "confkey3")); assertThat(snapshot.getContext().getPropertySources()).hasSize(config.getContext().getPropertySources().size()); assertThat(snapshot.getContext().getPropertyConverters()).hasSize(config.getContext().getPropertyConverters().size()); assertThat(snapshot.getContext().getPropertyFilters()).hasSize(config.getContext().getPropertyFilters().size()); }