code: public static void setValue(MetaPartition partition, AnyTypeObject dataObject, Object value) {
  		MetaDataObject meta = (MetaDataObject) partition.getMeta(dataObject.getClass());
  		if (value == null) {
  			for (MetaAttribute attr : meta.getAttributes()) {
  				attr.setValue(dataObject, null);
  			}
  		} else {
  			boolean found = false;
  			for (MetaAttribute attr : meta.getAttributes()) {
  				if (attr.getName().equals(TYPE_ATTRIBUTE)) {
  					continue;
  				}
  				if (attr.getType().getImplementationClass().isAssignableFrom(value.getClass())) {
  					attr.setValue(dataObject, value);
  					found = true;
  				} else {
  					attr.setValue(dataObject, null);
  				}
  			}
  			if (!found) {
  				throw new IllegalStateException("cannot assign " + value + " to " + dataObject);
  			}
  		}
  	}
docs: Sets the value of the given anytype.
  
  @param partition  to use to retrieve information
  @param dataObject the anytype for which the value is set.
  @param value      the new value