code: public AnalyzeDocumentRequest withFeatureTypes(String... featureTypes) {
          if (this.featureTypes == null) {
              setFeatureTypes(new java.util.ArrayList<String>(featureTypes.length));
          }
          for (String ele : featureTypes) {
              this.featureTypes.add(ele);
          }
          return this;
      }
docs: <p>
  A list of the types of analysis to perform. Add TABLES to the list to return information about the tables
  detected in the input document. Add FORMS to return detected fields and the associated text. To perform both
  types of analysis, add TABLES and FORMS to <code>FeatureTypes</code>.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setFeatureTypes(java.util.Collection)} or {@link #withFeatureTypes(java.util.Collection)} if you want to
  override the existing values.
  </p>
  
  @param featureTypes
  A list of the types of analysis to perform. Add TABLES to the list to return information about the tables
  detected in the input document. Add FORMS to return detected fields and the associated text. To perform
  both types of analysis, add TABLES and FORMS to <code>FeatureTypes</code>.
  @return Returns a reference to this object so that method calls can be chained together.
  @see FeatureType