code: public Voice withAdditionalLanguageCodes(LanguageCode... additionalLanguageCodes) {
          java.util.ArrayList<String> additionalLanguageCodesCopy = new java.util.ArrayList<String>(additionalLanguageCodes.length);
          for (LanguageCode value : additionalLanguageCodes) {
              additionalLanguageCodesCopy.add(value.toString());
          }
          if (getAdditionalLanguageCodes() == null) {
              setAdditionalLanguageCodes(additionalLanguageCodesCopy);
          } else {
              getAdditionalLanguageCodes().addAll(additionalLanguageCodesCopy);
          }
          return this;
      }
docs: <p>
  Additional codes for languages available for the specified voice in addition to its default language.
  </p>
  <p>
  For example, the default language for Aditi is Indian English (en-IN) because it was first used for that
  language. Since Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show the
  code <code>hi-IN</code>.
  </p>
  
  @param additionalLanguageCodes
  Additional codes for languages available for the specified voice in addition to its default language. </p>
  <p>
  For example, the default language for Aditi is Indian English (en-IN) because it was first used for that
  language. Since Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show
  the code <code>hi-IN</code>.
  @return Returns a reference to this object so that method calls can be chained together.
  @see LanguageCode