public override bool Equals(Blob blob)
{
var otherS3Blob = blob as S3Blob;
if (otherS3Blob != null) return connection.Equals(otherS3Blob.connection) && otherS3Blob.path == path;
var externalBlob = blob as ExternalBlob;
if (externalBlob != null) return connection.Equals(externalBlob.Connection) && connection.GetPath(externalBlob.Identifier) == path;
return false;
}
}