public ObjectInfo <T> ChangeRootObjectPair(ObjectPair <T> rootObjectPair) { return(ChangeProp(ImClone(this), im => im.RootObjectPair = rootObjectPair)); }
public ObjectInfo <T> ChangeObjectPair(ObjectPair <T> objectPair) { return(ChangeProp(ImClone(this), im => im.ObjectPair = objectPair)); }
public ObjectInfo <T> ChangeParentPair(ObjectPair <T> parentPair) { return(ChangeProp(ImClone(this), im => im.ParentObjectPair = parentPair)); }
public ObjectPair <S> Transform <S>(Func <T, S> oldFunc, Func <T, S> newFunc) { return(ObjectPair <S> .Create(oldFunc(OldObject), newFunc(NewObject))); }