class OperationChain implements Output<OUT>,
        Operations<Operation> {

    @Override
    public void close() throws IOException {
        for (final Operation operation : operations) {
            CloseableUtil.close(operation);
        }
    }

    public  OperationChain();
    public  OperationChain(final Operation operation);
    public  OperationChain(final Output<OUT> operation);
    public  OperationChain(final Operation... operations);
    public  OperationChain(final List<Operation> operations);
    public  OperationChain(final List<Operation> operations, final boolean flatten);

}