class RowDataSerializer extends AbstractRowDataSerializer<RowData> {

	@Override
	public RowData copy(RowData from) {
		if (from.getArity() != types.length) {
			throw new IllegalArgumentException("Row arity: " + from.getArity() +
				", but serializer arity: " + types.length);
		}
		if (from instanceof BinaryRowData) {
			return ((BinaryRowData) from).copy();
		} else {
			return copyRowData(from, new GenericRowData(from.getArity()));
		}
	}

	public  RowDataSerializer(RowType rowType);
	public  RowDataSerializer(LogicalType... types);
	public  RowDataSerializer(LogicalType[] types, TypeSerializer<?>[] fieldSerializers);

}