code: public void resolveCopyGen(File file, int lineIndex) {
          if (getBean().isMutable() && getBean().isBuilderScopeVisible() == false) {
              return;  // no copying
          }
          if (config.getInvalidImmutableTypes().contains(getFieldTypeRaw())) {
              throw new BeanCodeGenException("Invalid collection type for immutable bean: " + getFieldTypeRaw() +
                      " in " + getBean().getTypeRaw() + "." + getPropertyName(), file, lineIndex);
          }
          if (isDerived()) {
              copyGen = CopyGen.NoCopyGen.INSTANCE;
          } else {
              CopyGen copier = config.getCopyGenerators().get(getFieldTypeRaw());
              if (copier != null) {
                  copyGen = copier;
              } else {
                  String clone = config.getImmutableGetClones().get(getFieldTypeRaw());
                  if (clone != null) {
                      if (clone.equals("clone")) {
                          copyGen = CopyGen.CLONE;
                      } else {
                          copyGen = CopyGen.CLONE_CAST;
                      }
                  } else {
                      copyGen = CopyGen.ASSIGN;
                  }
              }
          }
      }
docs: Resolves the copy generator.
  @param file  the file
  @param lineIndex  the line index