public Object clone() {
   try {
     final ItemMinFunction function = (ItemMinFunction) super.clone();
     function.min = min.clone();
     return function;
   } catch (CloneNotSupportedException e) {
     throw new IllegalStateException();
   }
 }
 /**
  * Return a completly separated copy of this function. The copy does no longer share any
  * changeable objects with the original function.
  *
  * @return a copy of this function.
  */
 public Expression getInstance() {
   final ItemMinFunction function = (ItemMinFunction) super.getInstance();
   function.min = min.clone();
   function.lastGroupSequenceNumber = 0;
   return function;
 }