docs: protected boolean parse(CharSequence source, File file, int startIndex, Stage stage,
  			ParsingContext parentContext, ParserInterceptor interceptor) {
  		final ParsingContext context = this.injector.getInstance(ParsingContext.class);
  		context.setParser(this);
  		context.setText(source);
  		context.setCurrentFile(file);
  		context.setStartIndex(startIndex);
  		context.setParserInterceptor(interceptor);
  		context.setInlineCodeFormat(getInlineCodeTemplate());
  		context.setBlockCodeFormat(getBlockCodeTemplate());
  		context.setOutlineOutputTag(getOutlineOutputTag());
  		context.setLineSeparator(getLineSeparator());
  		context.setOutputLanguage(getOutputLanguage());
  		context.setStage(stage);
  		final String regex = buildGeneralTagPattern();
  		if (!Strings.isNullOrEmpty(regex)) {
  			final Pattern patterns = Pattern.compile(regex, PATTERN_COMPILE_OPTIONS);
  			final Matcher matcher = patterns.matcher(source);
  			context.setMatcher(matcher);
  			if (parentContext != null) {
  				context.linkTo(parentContext);
  			}
  			return parse(context);
  		}
  		return false;
  	}