@Override public MarkupLanguageConfiguration clone() { try { MarkupLanguageConfiguration copy = (MarkupLanguageConfiguration) super.clone(); copy.blocks = new ArrayList<Block>(blocks.size()); for (Block block : blocks) { copy.blocks.add(block.clone()); } copy.phraseModifiers = new ArrayList<PatternBasedElement>(phraseModifiers.size()); for (PatternBasedElement element : phraseModifiers) { copy.phraseModifiers.add(element.clone()); } copy.tokens = new ArrayList<PatternBasedElement>(tokens.size()); for (PatternBasedElement element : tokens) { copy.tokens.add(element.clone()); } return copy; } catch (CloneNotSupportedException e) { throw new IllegalStateException(e); } }
public Block startBlock(String line, int lineOffset) { if (isEmptyLine(line)) { // nothing starts on an empty line return null; } for (Block block : getBlocks()) { if (block.canStart(line, lineOffset)) { Block clone = block.clone(); if (clone == null) { // Special case for TableBlock: // Must not be cloned because 'canStart' needs // to be aware of the table state. return block; } return clone; } } return null; }
for (Block block : markupLanguage.getNestingBlocks()) { if (block.canStart(content, 0)) { nestedBlock = block.clone(); nestedBlock.setParser(getParser()); nestedBlock.setState(getState());
for (Block block : markupLanguage.getNestedBlocks()) { if (block.canStart(content, 0)) { nestedBlock = block.clone(); nestedBlock.setParser(getParser()); nestedBlock.setState(getState());