public StringExpressionSet Intersect(StringExpressionSet ses)
{
if (this.IsEmpty() || ses == null || ses.IsEmpty())
{
return(this.CreateNewEmpty());
}
this.CheckList();
ses.CheckList();
StringExpressionSet stringExpressionSet = this.CreateNewEmpty();
for (int i = 0; i < this.m_list.Count; i++)
{
for (int j = 0; j < ses.m_list.Count; j++)
{
if (this.StringSubsetString((string)this.m_list[i], (string)ses.m_list[j], this.m_ignoreCase))
{
if (stringExpressionSet.m_list == null)
{
stringExpressionSet.m_list = new ArrayList();
}
stringExpressionSet.AddSingleExpressionNoDuplicates((string)this.m_list[i]);
}
else if (this.StringSubsetString((string)ses.m_list[j], (string)this.m_list[i], this.m_ignoreCase))
{
if (stringExpressionSet.m_list == null)
{
stringExpressionSet.m_list = new ArrayList();
}
stringExpressionSet.AddSingleExpressionNoDuplicates((string)ses.m_list[j]);
}
}
}
stringExpressionSet.GenerateString();
return(stringExpressionSet);
}