protected PermutationEncoding(PermutationEncoding original, Cloner cloner)
      : base(original, cloner) {
      this.readOnly = original.readOnly;

      if (original.ProblemInstance != null && cloner.ClonedObjectRegistered(original.ProblemInstance))
        this.ProblemInstance = (IVRPProblemInstance)cloner.Clone(original.ProblemInstance);
      else
        this.ProblemInstance = original.ProblemInstance;
    }
        protected PermutationEncoding(PermutationEncoding original, Cloner cloner)
            : base(original, cloner)
        {
            this.readOnly = original.readOnly;

            if (original.ProblemInstance != null && cloner.ClonedObjectRegistered(original.ProblemInstance))
            {
                this.ProblemInstance = (IVRPProblemInstance)cloner.Clone(original.ProblemInstance);
            }
            else
            {
                this.ProblemInstance = original.ProblemInstance;
            }
        }