public static String[] getFieldFormatTypeCodes() {
    return fieldFormatTypeCodes;
  }
@Test
  public void testRoundTrip() throws KettleException {
    List<String> attributes =
      Arrays.asList( /*"connection",*/ "schema", "table", "encoding", "delimiter", "enclosure",
        "escape_char", "replace", "ignore", "local", "fifo_file_name",  "bulk_size",
        "stream_name", "field_name", "field_format_ok" );

    Map<String, String> getterMap = new HashMap<String, String>();
    //getterMap.put( "connection", "" );
    getterMap.put( "schema", "getSchemaName" );
    getterMap.put( "table", "getTableName" );
    getterMap.put( "encoding", "getEncoding" );
    getterMap.put( "delimiter", "getDelimiter" );
    getterMap.put( "enclosure", "getEnclosure" );
    getterMap.put( "escape_char", "getEscapeChar" );
    getterMap.put( "replace", "isReplacingData" );
    getterMap.put( "ignore", "isIgnoringErrors" );
    getterMap.put( "local", "isLocalFile" );
    getterMap.put( "fifo_file_name", "getFifoFileName" );
    getterMap.put( "bulk_size", "getBulkSize" );
    getterMap.put( "stream_name", "getFieldTable" );
    getterMap.put( "field_name", "getFieldStream" );
    getterMap.put( "field_format_ok", "getFieldFormatType" );

    Map<String, String> setterMap = new HashMap<String, String>();
    //setterMap.put( "connection", "" );
    setterMap.put( "schema", "setSchemaName" );
    setterMap.put( "table", "setTableName" );
    setterMap.put( "encoding", "setEncoding" );
    setterMap.put( "delimiter", "setDelimiter" );
    setterMap.put( "enclosure", "setEnclosure" );
    setterMap.put( "escape_char", "setEscapeChar" );
    setterMap.put( "replace", "setReplacingData" );
    setterMap.put( "ignore", "setIgnoringErrors" );
    setterMap.put( "local", "setLocalFile" );
    setterMap.put( "fifo_file_name", "setFifoFileName" );
    setterMap.put( "bulk_size", "setBulkSize" );
    setterMap.put( "stream_name", "setFieldTable" );
    setterMap.put( "field_name", "setFieldStream" );
    setterMap.put( "field_format_ok", "setFieldFormatType" );

    Map<String, FieldLoadSaveValidator<?>> fieldLoadSaveValidatorAttributeMap =
      new HashMap<String, FieldLoadSaveValidator<?>>();

    FieldLoadSaveValidator<String[]> stringArrayLoadSaveValidator =
      new ArrayLoadSaveValidator<String>( new StringLoadSaveValidator(), 25 );
    FieldLoadSaveValidator<int[]> fieldFormatTypeArrayLoadSaveValidator =
      new PrimitiveIntArrayLoadSaveValidator(
        new IntLoadSaveValidator( MySQLBulkLoaderMeta.getFieldFormatTypeCodes().length ), 25 );

    fieldLoadSaveValidatorAttributeMap.put( "stream_name", stringArrayLoadSaveValidator );
    fieldLoadSaveValidatorAttributeMap.put( "field_name", stringArrayLoadSaveValidator );
    fieldLoadSaveValidatorAttributeMap.put( "field_format_ok", fieldFormatTypeArrayLoadSaveValidator );

    LoadSaveTester loadSaveTester =
      new LoadSaveTester( MySQLBulkLoaderMeta.class, attributes, getterMap, setterMap,
        fieldLoadSaveValidatorAttributeMap, new HashMap<String, FieldLoadSaveValidator<?>>() );

    loadSaveTester.testSerialization();
  }