internal virtual void OnIMECompositionEnded( CachedTextInfo cachedTextInfo )
 {
 }
 internal override void OnIMECompositionEnded( CachedTextInfo cachedTextInfo )
 {
   // End of IME Composition.  Restore the critical infos.
   this.ForceText( cachedTextInfo.Text, false );
   this.CaretIndex = cachedTextInfo.CaretIndex;
   this.SelectionStart = cachedTextInfo.SelectionStart;
   this.SelectionLength = cachedTextInfo.SelectionLength;
 }
    internal void StartIMEComposition()
    {
      Debug.Assert( m_imePreCompositionCachedTextInfo == null, "EndIMEComposition should have been called before another IME Composition starts." );

      m_imePreCompositionCachedTextInfo = new CachedTextInfo( this );
    }