class If extends GenericInput<I> implements InputOutput<I, O>, Operations<Operation> {

    @Override
    public void updateOperations(final Collection<Operation> operations) {
        if (null == operations || 3 != operations.size()) {
            throw new IllegalArgumentException("Unable to update operations - exactly 3 operations are required. Received " + (null != operations ? operations.size() : 0) + " operations");
        }

        final Iterator<Operation> itr = operations.iterator();
        final Operation transform = extractNextOp(itr);
        if (null == conditional) {
            if (null != transform) {
                conditional = new Conditional();
                conditional.setTransform(transform);
            }
        } else {
            conditional.setTransform(transform);
        }

        then = extractNextOp(itr);
        otherwise = extractNextOp(itr);
    }

}