code: public void setIntList(final String propertyName, final int[] values) {
          if (propertyName == null) {
              throw new NullPointerException("propertyName must not be null.");
          }
          Integer index = propertyMap.get(propertyName);
          if (index == null) {
              throw new IllegalArgumentException("non existent property: '"
                      + propertyName + "'.");
          }
          if (type.getProperties().get(index) instanceof ListProperty) {
              this.data[index] = new double[values.length];
              for (int i = 0; i < values.length; i++) {
                  this.data[index][i] = values[i];
              }
          } else {
              if (values.length != 0) {
                  throw new IndexOutOfBoundsException("property is not a list");
              }
              this.data[index][0] = values[0];
          }
      }
docs: Sets the value of a property-list.
  If the property is not a list, the first element is used.
  @param propertyName Name of the property to set.
  @param values Values to set for that property.
  @throws NullPointerException if {@code propertyName} is {@code null}.
  @throws IllegalArgumentException if the element type does not have
  a property with the given name.
  @throws IndexOutOfBoundsException if the property is not a list property
  and the given array does not have exactly one element.