/// <summary> /// Replaces the Fragments in <see cref="Fragments"/> and returns the previous fragment back to the ObjectPool so it can be reused. /// </summary> /// <param name="original">Fragment to replace.</param> /// <param name="repacement">Replacement Fragment.</param> public void ReplaceFragment(MessageFragment original, MessageFragment repacement) { var index = Fragments.IndexOf(original); if (index == -1) { throw new Exception($"Can not replace Fragment {original.ToString()} that is not part of the message."); } Fragments[index] = repacement; ReleaseFragment(original); }
public override int GetItemPosition(Java.Lang.Object objectValue) { Fragment fragment = (Fragment)objectValue; int index = Fragments.IndexOf(fragment); if (index >= 0) { return(index); } else { return(PositionNone); } }