public int Compare(IShellItem psi, SICHINT hint) {
var other = (ShellItemImpl)psi;
ShellItemImpl myParent = GetParent();
ShellItemImpl theirParent = other.GetParent();
if (Shell32.ILIsEqual(myParent.Pidl, theirParent.Pidl)) {
return myParent.GetIShellFolder().CompareIDs((SHCIDS)hint, Shell32.ILFindLastID(Pidl), Shell32.ILFindLastID(other.Pidl));
}
else {
return 1;
}
}