/// <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;
}