public TUserVariable(TUserVariable origin)
     : this()
 {
     evaluated       = origin.evaluated;
     unevaluated     = origin.unevaluated;
     ident           = origin.ident;
     status          = origin.status;
     persistence     = origin.persistence;
     prev            = origin.prev;
 }
 public TUserVariable(TUserVariable origin)
     : this()
 {
     evaluated   = origin.evaluated;
     unevaluated = origin.unevaluated;
     ident       = origin.ident;
     name        = origin.name;
     project     = origin.project;
     status      = origin.status;
     persistence = origin.persistence;
     prev        = origin.prev;
 }
        protected void defProperty(TUserVariable uvar, Project project)
        {
            if (uvar.status != TUserVariable.StatusType.Started)
            {
                setGlobalProperty(project, uvar.ident, getUVariableValue(uvar.ident));
                return;
            }

            if (uvar.prev != null && ((TUserVariable)uvar.prev).unevaluated != null)
            {
                TUserVariable prev = (TUserVariable)uvar.prev;
                setGlobalProperty(project, uvar.ident, (prev.evaluated == null)? prev.unevaluated : prev.evaluated);
            }
        }