class CombinedRow extends Row implements ElementCombiner<Row, Row, Row> {

    private final int numCols;
    private final int leftNumCols;
    private Row left;
    private Row right;

    public CombinedRow(int leftNumCols, int rightNumCols) {
        this.leftNumCols = leftNumCols;
        this.numCols = leftNumCols + rightNumCols;
    }

    @Override
    public int numColumns() {
        return numCols;
    }

    @Override
    public Object get(int index) {<FILL_FUNCTION_BODY>}

    @Override
    public Row currentElement() {
        return this;
    }

    public void nullLeft() {
        left = null;
    }

    public void nullRight() {
        right = null;
    }

    @Override
    public void setRight(Row o) {
        right = o;
    }

    @Override
    public void setLeft(Row o) {
        left = o;
    }

    @Override
    public String toString() {
        return "CombinedRow{" +
               "lhs=" + left +
               ", rhs=" + right +
               '}';
    }
}

        if (index < leftNumCols) {
            if (left == null) {
                return null;
            }
            return left.get(index);
        }
        index = index - leftNumCols;
        if (right == null) {
            return null;
        }
        return right.get(index);
    
<methods>public non-sealed void <init>() ,public final boolean equals(java.lang.Object) ,public abstract java.lang.Object get(int) ,public final int hashCode() ,public java.lang.Object[] materialize() ,public abstract int numColumns() <variables>public static final io.crate.data.Row EMPTY