@Override
 public WaveAggregateOp invert(WaveAggregateOp operation) {
   return operation.invert();
 }
 @Override
 public OperationPair<WaveAggregateOp> transform(WaveAggregateOp op1, WaveAggregateOp op2)
     throws TransformException {
   return WaveAggregateOp.transform(op1, op2);
 }
 @Override
 public WaveAggregateOp compose(List<WaveAggregateOp> operations) {
   return WaveAggregateOp.compose(operations);
 }