private bool IsMultiTokenMatch(char[] canidate, int fromIndex, bool isReversed)
{
bool result = true;
int cnt = 0;
int canidateIdx = fromIndex;
if (isReversed)
{
cnt = _tokenParts.Length - 1;
}
if ((canidateIdx - (_tokenParts.Length - 1)) >= 0 && isReversed || !isReversed)
{
while (cnt < _tokenParts.Length && cnt >= 0 && canidateIdx >= 0 && canidateIdx < canidate.Length && result)
{
if (canidate[canidateIdx] != _tokenParts[cnt])
{
result = false;
}
if (!isReversed)
{
canidateIdx++;
cnt++;
}
else
{
canidateIdx--;
cnt--;
}
}
}
else
{
result = false; // no way we can match, not enough chars ;)
}
return result;
}