class PropertiesFile {

  public static PropertiesFile of(CharSource source) {
    ArgChecker.notNull(source, "source");
    ImmutableList<String> lines = Unchecked.wrap(() -> source.readLines());
    PropertySet keyValues = parse(lines);
    return new PropertiesFile(keyValues);
  }

  private  PropertiesFile(PropertySet keyValueMap);

}