public Collection<PropertyValue> marshall(Environment env) {
   Collection result = new ArrayList<PropertyValue>();
   result.add(new PropertyValue(1045825153413114698l, Value.valueOf(this.getProduct(), env)));
   result.add(new PropertyValue(7459204235176453452l, Value.valueOf(this.getQuantity(), env)));
   result.add(new PropertyValue(-6l, Value.valueOf(isEvent, env)));
   result.add(
       new PropertyValue(2288080870635458250l, Value.valueOf(this.getRequiredByDate(), env)));
   return result;
 }
  public void unmarshall(Collection<PropertyValue> ps, AbstractPersistence persistence) {
    for (PropertyValue p : ps) {
      if (p.getId() == 1045825153413114698l) {
        this.setProduct(
            (Product) Value.valueOf(p.getValue(), (InternalHibernatePersistence) persistence));
      } else {
        if (p.getId() == 7459204235176453452l) {
          this.setQuantity(
              (Integer) Value.valueOf(p.getValue(), (InternalHibernatePersistence) persistence));
        } else {
          if (p.getId() == 2288080870635458250l) {
            this.setRequiredByDate(
                (Date) Value.valueOf(p.getValue(), (InternalHibernatePersistence) persistence));
          } else {

          }
        }
      }
      if (p.getId() == -6l) {
        this.isEvent =
            (Boolean) Value.valueOf(p.getValue(), (InternalHibernatePersistence) persistence);
      }
    }
  }