Adapt to moved ILineInformation/TextLineInformation
diff --git a/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemAstVisitor.java b/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemAstVisitor.java
index 01adc7d..b1f60ba 100644
--- a/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemAstVisitor.java
+++ b/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemAstVisitor.java
@@ -28,8 +28,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.statet.jcommons.text.core.TextLineInformation;
+
 import org.eclipse.statet.ecommons.runtime.core.util.MessageBuilder;
-import org.eclipse.statet.ecommons.text.core.ILineInformation;
 
 import org.eclipse.statet.docmlet.tex.core.ast.Comment;
 import org.eclipse.statet.docmlet.tex.core.ast.ControlNode;
@@ -62,7 +63,7 @@
 	
 	private ISourceUnit currentUnit;
 	private String currentText;
-	private ILineInformation currentLines;
+	private TextLineInformation currentLines;
 	private ProblemRequestor currentRequestor;
 	
 	private final MessageBuilder messageBuilder= new MessageBuilder();
diff --git a/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemModelCheck.java b/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemModelCheck.java
index 65793ba..eab034a 100644
--- a/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemModelCheck.java
+++ b/docmlet/org.eclipse.statet.docmlet.tex.core/src/org/eclipse/statet/internal/docmlet/tex/core/model/LtxProblemModelCheck.java
@@ -20,9 +20,9 @@
 import java.util.List;
 
 import org.eclipse.statet.jcommons.collections.ImList;
+import org.eclipse.statet.jcommons.text.core.TextLineInformation;
 
 import org.eclipse.statet.ecommons.runtime.core.util.MessageBuilder;
-import org.eclipse.statet.ecommons.text.core.ILineInformation;
 
 import org.eclipse.statet.docmlet.tex.core.ast.TexAstNode;
 import org.eclipse.statet.docmlet.tex.core.model.ILtxModelInfo;
@@ -46,7 +46,7 @@
 	
 	private ISourceUnit currentUnit;
 	private String currentText;
-	private ILineInformation currentLines;
+	private TextLineInformation currentLines;
 	private ProblemRequestor currentRequestor;
 	
 	private final MessageBuilder messageBuilder= new MessageBuilder();
diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/ContentLineSequence.java b/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/ContentLineSequence.java
index 1681dc0..c47cab0 100644
--- a/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/ContentLineSequence.java
+++ b/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/ContentLineSequence.java
@@ -14,28 +14,27 @@
 
 package org.eclipse.statet.internal.docmlet.wikitext.commonmark.core;
 
-import static com.google.common.base.Preconditions.checkArgument;
-
 import java.util.ArrayList;
 import java.util.List;
 
-import org.eclipse.jface.text.BadLocationException;
-
-import org.eclipse.statet.ecommons.text.core.ILineInformation;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
+import org.eclipse.statet.jcommons.text.core.TextLineInformation;
 
 
+@NonNullByDefault
 public class ContentLineSequence extends LineSequence {
 	
 	
 	private final String content;
-	private final ILineInformation lineInfos;
+	private final TextLineInformation lineInfos;
 	
-	private Line currentLine;
+	private @Nullable Line currentLine;
 	
 	private final List<Line> followingLines= new ArrayList<>();
 	
 	
-	public ContentLineSequence(final String content, final ILineInformation lineInfos) {
+	public ContentLineSequence(final String content, final TextLineInformation lineInfos) {
 		this.content= content;
 		this.lineInfos= lineInfos;
 		
@@ -43,53 +42,50 @@
 	}
 	
 	
-	private Line createLine(final int lineNumber) {
+	private @Nullable Line createLine(final int lineNumber) {
 		if (lineNumber >= this.lineInfos.getNumberOfLines()) {
 			return null;
 		}
-		try {
-			final int startOffset= this.lineInfos.getLineOffset(lineNumber);
-			int endOffset= this.lineInfos.getLineEndOffset(lineNumber);
-			final String delimiter;
-			switch ((endOffset > startOffset) ? this.content.charAt(endOffset - 1) : 0) {
-			case '\n':
+		
+		final int startOffset= this.lineInfos.getStartOffset(lineNumber);
+		int endOffset= this.lineInfos.getEndOffset(lineNumber);
+		final String delimiter;
+		switch ((endOffset > startOffset) ? this.content.charAt(endOffset - 1) : 0) {
+		case '\n':
+			endOffset--;
+			if (endOffset > startOffset && this.content.charAt(endOffset - 1) == '\r') {
 				endOffset--;
-				if (endOffset > startOffset && this.content.charAt(endOffset - 1) == '\r') {
-					endOffset--;
-					delimiter= "\r\n";
-				}
-				else {
-					delimiter= "\n";
-				}
-				break;
-			case '\r':
-				endOffset--;
-				delimiter= "\r";
-				break;
-			default:
-				delimiter= "";
-				break;
+				delimiter= "\r\n";
 			}
-			
-			return new Line(lineNumber, startOffset, 0, this.content.substring(startOffset, endOffset), delimiter);
+			else {
+				delimiter= "\n";
+			}
+			break;
+		case '\r':
+			endOffset--;
+			delimiter= "\r";
+			break;
+		default:
+			delimiter= "";
+			break;
 		}
-		catch (final BadLocationException e) {
-			throw new RuntimeException(e);
-		}
+		return new Line(lineNumber, startOffset, 0, this.content.substring(startOffset, endOffset), delimiter);
 	}
 	
 	@Override
-	public Line getCurrentLine() {
+	public @Nullable Line getCurrentLine() {
 		return this.currentLine;
 	}
 	
 	@Override
-	public Line getNextLine() {
+	public @Nullable Line getNextLine() {
 		return getNextLine(0);
 	}
 	
-	public Line getNextLine(final int index) {
-		checkArgument(index >= 0);
+	public @Nullable Line getNextLine(final int index) {
+		if (index < 0) {
+			throw new IllegalArgumentException();
+		}
 		if (this.currentLine != null) {
 			while (index >= this.followingLines.size()) {
 				final Line line= createLine(this.currentLine.getLineNumber() + this.followingLines.size() + 1);
diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/LineSequence.java b/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/LineSequence.java
index 8ea3a6d..1baaae5 100644
--- a/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/LineSequence.java
+++ b/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/LineSequence.java
@@ -15,15 +15,15 @@
 package org.eclipse.statet.internal.docmlet.wikitext.commonmark.core;
 
 import org.eclipse.statet.jcommons.lang.ObjectUtils.ToStringBuilder;
+import org.eclipse.statet.jcommons.text.core.util.TextLineInformationCreator;
 
-import org.eclipse.statet.ecommons.text.LineInformationCreator;
 
 
 public abstract class LineSequence {
 	
 	
 	public static LineSequence create(final String text) {
-		return new ContentLineSequence(text, new LineInformationCreator().create(text));
+		return new ContentLineSequence(text, new TextLineInformationCreator().create(text));
 	}
 	
 	
diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/source/WeaveLanguageProcessor.java b/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/source/WeaveLanguageProcessor.java
index b158b10..751f312 100644
--- a/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/source/WeaveLanguageProcessor.java
+++ b/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/source/WeaveLanguageProcessor.java
@@ -20,7 +20,6 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.mylyn.wikitext.parser.Attributes;
 import org.eclipse.mylyn.wikitext.parser.DocumentBuilder;
 import org.eclipse.mylyn.wikitext.parser.Locator;
@@ -29,10 +28,9 @@
 import org.eclipse.statet.jcommons.collections.ImList;
 import org.eclipse.statet.jcommons.lang.Nullable;
 import org.eclipse.statet.jcommons.text.core.BasicTextRegion;
+import org.eclipse.statet.jcommons.text.core.TextLineInformation;
 import org.eclipse.statet.jcommons.text.core.TextRegion;
 
-import org.eclipse.statet.ecommons.text.core.ILineInformation;
-
 import org.eclipse.statet.docmlet.wikitext.core.markup.IWikitextLocator;
 import org.eclipse.statet.docmlet.wikitext.core.markup.MarkupParser2;
 import org.eclipse.statet.ltk.core.SourceContent;
@@ -327,20 +325,15 @@
 		
 		@Override
 		public int getLineNumber() {
-			try {
-				if (this.lineNumber < 0) {
-					final ILineInformation lines= WeaveLanguageProcessor.this.orgContent.getLines();
-					this.lineNumber= lines.getLineOfOffset(this.beginOffset);
-				}
-				return this.lineNumber;
+			if (this.lineNumber < 0) {
+				final TextLineInformation lines= WeaveLanguageProcessor.this.orgContent.getLines();
+				this.lineNumber= lines.getLineOfOffset(this.beginOffset);
 			}
-			catch (final BadLocationException e) {
-				throw new RuntimeException(e);
-			}
+			return this.lineNumber;
 		}
 		
-		private ILineInformation getLines() throws BadLocationException {
-			final ILineInformation lines= WeaveLanguageProcessor.this.orgContent.getLines();
+		private TextLineInformation getLines() {
+			final TextLineInformation lines= WeaveLanguageProcessor.this.orgContent.getLines();
 			if (this.lineNumber < 0) {
 				this.lineNumber= lines.getLineOfOffset(this.beginOffset);
 			}
@@ -349,12 +342,7 @@
 		
 		@Override
 		public int getLineOffset() {
-			try {
-				return getLines().getLineOffset(this.lineNumber);
-			}
-			catch (final BadLocationException e) {
-				throw new RuntimeException(e);
-			}
+			return getLines().getStartOffset(this.lineNumber);
 		}
 		
 		@Override
@@ -364,22 +352,11 @@
 		
 		@Override
 		public int getLineLength() {
-			try {
-				return getLines().getLineLength(this.lineNumber);
-			}
-			catch (final BadLocationException e) {
-				throw new RuntimeException(e);
-			}
+			return getLines().getLength(this.lineNumber);
 		}
 		
 		public int getLineEndOffset() {
-			try {
-				final ILineInformation lines= getLines();
-				return lines.getLineEndOffset(this.lineNumber);
-			}
-			catch (final BadLocationException e) {
-				throw new RuntimeException(e);
-			}
+			return getLines().getEndOffset(this.lineNumber);
 		}
 		
 		@Override
@@ -503,78 +480,73 @@
 		
 		final String source= content.getText();
 		
-		try {
-			this.embeddedList.clear();
-			
-			for (int iPart= 0; iPart < this.chunkParticipants.size(); iPart++) {
-				this.chunkParticipants.get(iPart).reset(content);
-			}
-			for (int iPart= 0; iPart < this.inlineParticipants.size(); iPart++) {
-				this.inlineParticipants.get(iPart).reset(content);
-			}
-			if (this.inlineMatcher == null) {
-				final Pattern pattern= combineInlineParticipants();
-				if (pattern != null) {
-					this.inlineMatcher= pattern.matcher(source);
-					if (DEBUGGING && this.inlineMatcher.groupCount() != this.inlineParticipants.size()) {
-						System.out.println(this.inlineMatcher.pattern());
-					}
+		this.embeddedList.clear();
+		
+		for (int iPart= 0; iPart < this.chunkParticipants.size(); iPart++) {
+			this.chunkParticipants.get(iPart).reset(content);
+		}
+		for (int iPart= 0; iPart < this.inlineParticipants.size(); iPart++) {
+			this.inlineParticipants.get(iPart).reset(content);
+		}
+		if (this.inlineMatcher == null) {
+			final Pattern pattern= combineInlineParticipants();
+			if (pattern != null) {
+				this.inlineMatcher= pattern.matcher(source);
+				if (DEBUGGING && this.inlineMatcher.groupCount() != this.inlineParticipants.size()) {
+					System.out.println(this.inlineMatcher.pattern());
 				}
 			}
-			else {
-				this.inlineMatcher.reset(source);
-			}
-			
-			this.sBuilder.setLength(0);
-			this.sBuilder.ensureCapacity(source.length() + 40);
-			int endOffset= 0;
-			final ILineInformation lines= content.getLines();
-			int lineEndOffset= lines.getLineOffset(0);
-			final int numLines= lines.getNumberOfLines();
-			for (int line= 0; line < numLines; line++) {
-				int lineOffset= lineEndOffset;
-				lineEndOffset= lines.getLineEndOffset(line);
-				final int nPart= this.chunkParticipants.size();
-				for (int iPart= 0; iPart < nPart; iPart++) {
-					final BlockWeaveParticipant part= this.chunkParticipants.get(iPart);
-					if (part.checkStartLine(lineOffset, lineEndOffset)) {
-						append(source, endOffset, part.getStartOffset());
-						final int checkedBeginOffset= this.sBuilder.length();
-						
-						part.appendReplacement(this.sBuilder, source, part.getStartOffset(), lineEndOffset);
-						final int checkedEndOffset= this.sBuilder.length();
-						
-						endOffset= source.length();
-						while (++line < numLines) {
-							lineOffset= lineEndOffset;
-							lineEndOffset= lines.getLineEndOffset(line);
-							if (part.checkEndLine(lineOffset, lineEndOffset)) {
-								endOffset= lineEndOffset;
-								break;
-							}
+		}
+		else {
+			this.inlineMatcher.reset(source);
+		}
+		
+		this.sBuilder.setLength(0);
+		this.sBuilder.ensureCapacity(source.length() + 40);
+		int endOffset= 0;
+		final TextLineInformation lines= content.getLines();
+		int lineEndOffset= lines.getStartOffset(0);
+		final int numLines= lines.getNumberOfLines();
+		for (int line= 0; line < numLines; line++) {
+			int lineOffset= lineEndOffset;
+			lineEndOffset= lines.getEndOffset(line);
+			final int nPart= this.chunkParticipants.size();
+			for (int iPart= 0; iPart < nPart; iPart++) {
+				final BlockWeaveParticipant part= this.chunkParticipants.get(iPart);
+				if (part.checkStartLine(lineOffset, lineEndOffset)) {
+					append(source, endOffset, part.getStartOffset());
+					final int checkedBeginOffset= this.sBuilder.length();
+					
+					part.appendReplacement(this.sBuilder, source, part.getStartOffset(), lineEndOffset);
+					final int checkedEndOffset= this.sBuilder.length();
+					
+					endOffset= source.length();
+					while (++line < numLines) {
+						lineOffset= lineEndOffset;
+						lineEndOffset= lines.getEndOffset(line);
+						if (part.checkEndLine(lineOffset, lineEndOffset)) {
+							endOffset= lineEndOffset;
+							break;
 						}
-						
-						this.embeddedList.add(new EmbeddedChunk(part,
-								checkedBeginOffset, checkedEndOffset,
-								part.getStartOffset(), endOffset ));
 					}
+					
+					this.embeddedList.add(new EmbeddedChunk(part,
+							checkedBeginOffset, checkedEndOffset,
+							part.getStartOffset(), endOffset ));
 				}
 			}
-			
-			if (this.sBuilder.length() > 0 || (this.inlineMatcher != null && this.inlineMatcher.find())) {
-				append(source, endOffset, source.length());
-				
-				checkedContent= this.sBuilder.toString();
-			}
-			else {
-				checkedContent= source;
-			}
-			
-			this.embeddedIterator.reset();
 		}
-		catch (final BadLocationException e) {
-			throw new RuntimeException(e);
+		
+		if (this.sBuilder.length() > 0 || (this.inlineMatcher != null && this.inlineMatcher.find())) {
+			append(source, endOffset, source.length());
+			
+			checkedContent= this.sBuilder.toString();
 		}
+		else {
+			checkedContent= source;
+		}
+		
+		this.embeddedIterator.reset();
 		
 		this.ignoreCounter= 0;