code: public void clearUnknowns(ValidationObject object)
  	{
  		ObjectMetadata objectMetadata = object.getMetadata();
  		ValidationSession session = object.getMetadata().getProxyObject().getSession();
  		session.setEnabled(false);
  		Map<String,ProxyField> fieldMap = objectMetadata.getProxyObject().getFieldMap();
  		for (Map.Entry<String,ProxyField> entry: fieldMap.entrySet())
  		{
  			FieldMetadata fieldMetadata = entry.getValue().getFieldMetadata();
  			ProxyFieldImpl proxyField = (ProxyFieldImpl)session.getProxyField(fieldMetadata);
  			if (proxyField.getPropertyMetadata().isUnknown()) // this tests the static unknown flag
  			{
  				// force the value to null and then set the dynamic unknown flag
  				proxyField.reset();
  				proxyField.setValue(null);
  				proxyField.updateValue();
  				proxyField.setUnknown(true);
  				logger.debug("Cleared {}",proxyField.toString());
  			}
  		}
  		session.setEnabled(true);
  	}
docs: Clear all the fields that were originally flagged as unknown on this object
  we should assume the dynamic flag has been removed and we need to reset it.
  Also set the current value of each to null, ie we lose any data from the unknown fields for this object.
  Because you only do this one object at a time there may be problems if the unknowns use
  rules that cross multiple objects.
  @param object