public void Build(Shape shape, out DxGeometry result) { Contract.Requires(shape != null); Contract.Ensures(Contract.ValueAtReturn(out result) != null); try { shape.ExtractTo(this); } finally { result = _Path; _PathSink = null; _Path = null; } }