docs: public final InCondition in(String... values) {
          List<LiteralOperand> list = new LinkedList<LiteralOperand>();
          for (String v: values)
              list.add(new LiteralOperand(v));
          return new InCondition(this, list);
      }
  
      /**
       * Returns an <a href=
       * "http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html#ConditionExpressionReference.Functions"
       * >InCondition</a> (that evaluates to true if the value of the current
       * attribute is equal to any of the values in the specified list) for
       * building condition expression.
       *
       * @param values
       *            specified list of values. The number of values must be at
       *            least one and at most 100.
       */
      public final InCondition in(List<String> values) {
          List<LiteralOperand> list = new LinkedList<LiteralOperand>();
          for (String v: values)
              list.add(new LiteralOperand(v));
          return new InCondition(this, list);
      }
  
      /**
       * Returns a <code>SetAction</code> object used for building update
       * expression. If the attribute referred to by this path operand doesn't
       * exist, the returned object represents adding the attribute value of the
       * specified source path operand to an item. If the current attribute
       * already exists, the returned object represents the value replacement of
       * the current attribute by the attribute value of the specified source path
       * operand.
       */
      public SetAction set(S source) {
          return new SetAction(this, source);
      }
  
      /**
       * Returns a <code>SetAction</code> object used for building update
       * expression. If the attribute referred to by this path operand doesn't
       * exist, the returned object represents adding the specified value as an
       * attribute to an item. If the attribute referred to by this path operand
       * already exists, the returned object represents the value replacement of
       * the current attribute by the specified value.
       */
      public SetAction set(String value) {
          return new SetAction(this, new LiteralOperand(value));
      }
  
      /**
       * Returns a <code>SetAction</code> object used for building update
       * expression. If the attribute referred to by this path operand doesn't
       * exist, the returned object represents adding the value of evaluating the
       * specified <code>IfNotExists</code> function as an attribute to an item.
       * If the attribute referred to by this path operand already exists, the
       * returned object represents the value replacement of the current attribute
       * by the value of evaluating the specified <code>IfNotExists</code>
       * function.
       */
      public SetAction set(IfNotExistsFunction<S> ifNotExistsFunction) {
          return new SetAction(this, ifNotExistsFunction);
      }
  
      /**
       * Returns a <a href=
       * "http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html#ConditionExpressionReference.Functions"
       * >comparator condition</a> (that evaluates to true if the attribute value
       * referred to by this path operand is equal to the specified value) for
       * building condition expression.
       */
      public ComparatorCondition eq(String value) {
          return new ComparatorCondition("=", this, new LiteralOperand(value));
      }
  
      /**
       * Returns a <a href=
       * "http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html#ConditionExpressionReference.Functions"
       * >comparator condition</a> (that evaluates to true if the attribute value
       * referred to by this path operand is not equal to that of the specified
       * path operand) for building condition expression.
       */
      public ComparatorCondition ne(String value) {
          return new ComparatorCondition("<>", this, new LiteralOperand(value));
      }
  
      /**
       * Returns an <code>IfNotExists</code> object which represents an <a href=
       * "http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html"
       * >if_not_exists(path, operand)</a> function call where path refers to that
       * of the current path operand; used for building expressions.
       *
       * <pre>
       * "if_not_exists (path, operand) – If the item does not contain an attribute
       * at the specified path, then if_not_exists evaluates to operand; otherwise,
       * it evaluates to path. You can use this function to avoid overwriting an
       * attribute already present in the item."
       * </pre>
       *
       * @param defaultValue
       *            the default value that will be used as the operand to the
       *            if_not_exists function call.
       */
      public IfNotExistsFunction<S> ifNotExists(String defaultValue) {
          return new IfNotExistsFunction<S>(this, new LiteralOperand(defaultValue));
      }
  }