docs: private void generateCopyingPart(WrappingHint.Builder builder) {
          ImmutableCollection<CopyMethod> copyMethods = ImmutableMultimap.<String, CopyMethod>builder()
                  .putAll(configuration.FIELD_TYPE_TO_COPY_METHODS)
                  .putAll(userDefinedCopyMethods)
                  .build()
                  .get(typeAssignedToField);
          
          if (copyMethods.isEmpty()) {
              throw new WrappingHintGenerationException();
          }
          
          CopyMethod firstSuitable = copyMethods.iterator().next();
          builder.setCopyMethodOwnerName(firstSuitable.owner.toString())
                  .setCopyMethodName(firstSuitable.name);
          
          if (firstSuitable.isGeneric && typeSignature != null) {
              CollectionField withRemovedWildcards = CollectionField.from(typeAssignedToField, typeSignature)
                      .transformGenericTree(GenericType::withoutWildcard);
              builder.setCopyTypeParameterName(formatTypeParameter(withRemovedWildcards.asSimpleString()));
          }
      }