public static <MSG extends Message> MSG read(File file, Parser<MSG> parser) {
    InputStream input = null;
    try {
      input = new BufferedInputStream(new FileInputStream(file));
      return parser.parseFrom(input);
    } catch (Exception e) {
      throw ContextException.of("Unable to read message", e).addContext("file", file);
    } finally {
      IOUtils.closeQuietly(input);
    }
  }
@Test
  public void read_file_returns_empty_message_if_file_is_empty() throws Exception {
    File file = temp.newFile();
    Fake msg = Protobuf.read(file, Fake.parser());
    assertThat(msg).isNotNull();
    assertThat(msg.isInitialized()).isTrue();
  }