code: public AstNode setProperty( String name,
                                  Object... values ) {
          CheckArg.isNotNull(name, "name");
          CheckArg.isNotNull(values, "value");
          if (values.length != 0) {
              properties.put(name, Arrays.asList(values));
          }
          return this;
      }
docs: Set the property with the given name to the supplied values. If there is at least one value, the new property will replace
  any existing property with the same name. This method does nothing if zero values are supplied.
  
  @param name the name of the property; may not be null
  @param values the values of the property
  @return this node, for method chaining purposes