public override ITransformation GetInverse() { if (!HasInverse) { throw new NoInverseException(); } Contract.Ensures(Contract.Result <ITransformation>() != null); return(Inverse.BuildInverse(this)); }