code: @SuppressWarnings("unchecked")
      public A set(Iterable<Property> props) {
          if (Iterables.isEmpty(props)) {
              return (A) this;
          }
          return copy(delegate.put("data", Property.toArrayNode(props)));
      }
docs: Replaces all properties.
  
  @param props the property to add
  @return a new copy of the template.