public override bool Equals(Clob clob)
{
if (clob == null) return false;
if (clob == this) return true;
WebClob wb = clob as WebClob;
if (wb != null) return this.uri.Equals(wb.uri) && this.credentials == wb.credentials && this.headers == wb.headers;
if (!this.uri.IsFile) return false;
FileClob fb = clob as FileClob;
if (fb == null) return false;
return this.uri.LocalPath.Equals(fb.Filename);
}