builder = Types.calculateTypePrecisionAndScale(leftField.getType(), rightField.getType(), builder); container.addOrGet(MaterializedField.create(leftField.getName(), builder.build()), callBack); } else if (Types.isUntypedNull(rightField.getType())) { container.addOrGet(leftField, callBack); } else if (Types.isUntypedNull(leftField.getType())) { container.addOrGet(MaterializedField.create(leftField.getName(), rightField.getType()), callBack); } else {