/// <summary> /// Writes the concatenation to the attributes /// </summary> private void Write() { outerInstance.ClearAttributes(); if (outerInstance.termAttribute.Length < buffer.Length) { outerInstance.termAttribute.ResizeBuffer(buffer.Length); } var termbuffer = outerInstance.termAttribute.Buffer; //buffer.GetChars(0, buffer.Length, termbuffer, 0); buffer.CopyTo(0, termbuffer, 0, buffer.Length); outerInstance.termAttribute.Length = buffer.Length; if (outerInstance.hasIllegalOffsets) { outerInstance.offsetAttribute.SetOffset(outerInstance.savedStartOffset, outerInstance.savedEndOffset); } else { outerInstance.offsetAttribute.SetOffset(startOffset, endOffset); } outerInstance.posIncAttribute.PositionIncrement = outerInstance.Position(true); outerInstance.typeAttribute.Type = outerInstance.savedType; outerInstance.accumPosInc = 0; }