private ManifestParseTree parse(InputStream inputStream) throws IOException, TokenizerException, ParserException {
Preprocessor preprocessor = new ManifestPreprocessor();
List<InputLine> contents = preprocessor.process(inputStream);
Tokenizer tokenizer = new ManifestTokenizer(contents);
Parser parser = new ManifestParser();
return parser.parse(tokenizer);
}