Props { public String getSource() { return this.source; } Props();  Props(final Props parent);  Props(final Props parent, final String filepath);  Props(final Props parent, final File file);  Props(final Props parent, final InputStream inputStream);  Props(final Props parent, final Map<String, String>... props);  Props(final Props parent, final Properties... properties);  Props(final Props parent, final Props props); static Props of(final String... args); static Props of(final Props parent, final String... args); static Props clone(final Props p); static Props getInstance(Props parent, Props current, String source); Props getEarliestAncestor(); void setEarliestAncestor(final Props parent); void clearLocal(); boolean containsKey(final Object k); boolean containsValue(final Object value); String get(final Object key); Set<String> localKeySet(); Props getParent(); void setParent(final Props prop); String put(final String key, final String value); void put(final Properties properties); String put(final String key, final Integer value); String put(final String key, final Long value); String put(final String key, final Double value); void putAll(final Map<? extends String, ? extends String> m); void putAll(final Props p); void putLocal(final Props p); String removeLocal(final Object s); int size(); int localSize(); Class<?> getClass(final String key); Class<?> getClass(final String key, final boolean initialize, final ClassLoader cl); Class<?> getClass(final String key, final Class<?> defaultClass); String getString(final String key, final String defaultValue); String getString(final String key); List<String> getStringList(final String key); List<String> getStringListFromCluster(final String key); List<String> getStringList(final String key, final String sep); List<String> getStringList(final String key, final List<String> defaultValue); List<String> getStringList(final String key, final List<String> defaultValue,
      final String sep); boolean getBoolean(final String key, final boolean defaultValue); boolean getBoolean(final String key); long getLong(final String name, final long defaultValue); long getLong(final String name); int getInt(final String name, final int defaultValue); int getInt(final String name); double getDouble(final String name, final double defaultValue); double getDouble(final String name); URI getUri(final String name); URI getUri(final String name, final Boolean addTrailingSlash); URI getUri(final String name, final URI defaultValue); URI getUri(final String name, final URI defaultValue, final Boolean addTrailingSlash); URI getUri(final String name, final String defaultValue); void storeLocal(final File file); Props local(); void storeLocal(final OutputStream out); Properties toProperties(); Properties toAllProperties(); void storeFlattened(final File file); void storeFlattened(final OutputStream out); Map<String, String> getFlattened(); Map<String, String> getMapByPrefix(final String prefix); Set<String> getKeySet(); void logProperties(final Logger logger, final String comment); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString(); String getSource(); Props setSource(final String source);  }
@Test public void testCreateProps() throws IOException { File file = Mockito.mock(File.class); Mockito.when(file.exists()).thenReturn(false); Props parent = new Props(); Props props = new Props(parent, file); Assert.assertNull(props.getSource()); }