private void ObjectInvariant() {
Contract.Invariant(this.derivedSourceDocument != null);
//Contract.Invariant(this.Length <= this.SourceDocument.Length);
//Contract.Invariant(this.StartIndex <= this.SourceDocument.Length);
//Contract.Invariant(this.StartIndex+this.Length <= this.SourceDocument.Length);
}