class File extends Resource {

  public BufferedReader open() throws IOException {
    try {
      return new BufferedReader(new InputStreamReader(contentProvider.get()));
    } catch (final IOException ex) {
      logger.error("Fail to open {}", getPath());
      throw ex;
    } catch (final Throwable ex) {
      throw new IllegalStateException(ex);
    }
  }

  public  File(final Project project, final String path);

}