public object Clone() { Object result; if (Ideal == null) result = new BasicMLDataPair((IMLData) _input.Clone()); else result = new BasicMLDataPair((IMLData) _input.Clone(), (IMLData) _ideal.Clone()); return result; }