code: @Override
      public ModelNode cloneModel()
      {
          int len = mSubModels.length;
          ModelNode[] newModels = new ModelNode[len];
          for (int i = 0; i < len; ++i) {
              newModels[i] = mSubModels[i].cloneModel();
          }
          return new ChoiceModel(newModels);
      }
docs: Method that has to create a deep copy of the model, without
  sharing any of existing Objects.