How to do Translation Memory Lookups (SearchSegment method) with ISegement ?

Maybe someone has already asked about this question but I haven't found the answer yet.

Using Trados 2015 SDK, I have tried to search TM by source segment (ISegment) that come from segmentpair. (mixed with tag and string)

But the TM.LanguageDirection.SearchSegment(settings, segment) method required Sdl.LanguagePlatform.Core.Segment argument, I cannot use source segment (ISegment) directly.

So should I have to convert ISegment to Segment manually?

Element by element (tag, string, ...) ?

Or is there other simpler method to lookup TM by ISegment?

 

Thank you.