### Question:
FencedCodeBlock extends SourceBlock { @Override public boolean canStart(LineSequence lineSequence) { Line line = lineSequence.getCurrentLine(); return line != null && openingFencePattern.matcher(line.getText()).matches(); }  @Override void process(ProcessingContext context, DocumentBuilder builder, LineSequence lineSequence); @Override boolean canStart(LineSequence lineSequence);  }### Answer:
@Test public void canStart() { assertCanStart("```"); assertCanStart(" ```"); assertCanStart(" ```"); assertCanStart(" ```"); assertCanStart("````````````````"); assertCanStart(" ```"); assertCanStartFalse(" ```"); assertCanStart("~~~"); assertCanStart(" ~~~"); assertCanStart(" ~~~"); assertCanStart(" ~~~"); assertCanStart(" ~~~"); assertCanStartFalse(" ~~~"); assertCanStart("~~~~~~~~~~~~~~~~~"); assertCanStartFalse("``` one ``"); }