public object Clone()
{
HaarCascadeStage[] newStages = new HaarCascadeStage[Stages.Length];
for (int i = 0; i < newStages.Length; i++)
newStages[i] = (HaarCascadeStage)Stages[i].Clone();
HaarCascade r = new HaarCascade(Width, Height);
r.HasTiltedFeatures = this.HasTiltedFeatures;
r.Stages = newStages;
return r;
}