code: public AstNode setProperty( String name,
                                  Object value ) {
          CheckArg.isNotNull(name, "name");
          CheckArg.isNotNull(value, "value");
          properties.put(name, value);
          return this;
      }
docs: Set the property with the given name to the supplied value. Any existing property with the same name will be replaced.
  
  @param name the name of the property; may not be null
  @param value the value of the property; may not be null
  @return this node, for method chaining purposes