public SourceFile(String name, InputStream input) throws IOException { this(name, read(name, input));
public SourceFile(String name) throws IOException { this(new File(name));
    public SourceFile(String name, InputStream input) throws IOException {        this(name, read(name, input));    }