public static IEnumerable<IInternalState> Search(IEnumerable<ISearchParameter> parameters)
{
if (parameters == null) throw new ArgumentNullException("parameters", @"SearchObject");
return new AdfQuery()
.Select()
.From(SmartReferenceDescriber.Table)
.BuildQuery(typeof (SmartReferenceDescriber), parameters)
.RunSplit(DataSource);
}