@Override
  public Object convertData( ValueMetaInterface meta2, Object data2 ) throws KettleValueException {
    switch ( meta2.getType() ) {
      case TYPE_STRING:
        return convertStringToInternetAddress( meta2.getString( data2 ) );
      case TYPE_INTEGER:
        return convertIntegerToInternetAddress( meta2.getInteger( data2 ) );
      case TYPE_NUMBER:
        return convertNumberToInternetAddress( meta2.getNumber( data2 ) );
      case TYPE_BIGNUMBER:
        return convertBigNumberToInternetAddress( meta2.getBigNumber( data2 ) );
      case TYPE_INET:
        return ( (ValueMetaInternetAddress) meta2 ).getInternetAddress( data2 );
      default:
        throw new KettleValueException( meta2.toStringMeta() + " : can't be converted to an Internet Address" );
    }
  }
@Test
  public void testConvertInternetAddressIPv6() throws Exception {
    ValueMetaInterface vmia = new ValueMetaInternetAddress( "Test" );
    ValueMetaInternetAddress vmia2 = new ValueMetaInternetAddress( "anInternetAddress" );

    Object convertedIPv6 = vmia.convertData( vmia2, InetAddress.getByAddress( SAMPLE_IPV6_AS_BYTES ) );
    assertNotNull( convertedIPv6 );
    assertTrue( convertedIPv6 instanceof InetAddress );
    assertArrayEquals( SAMPLE_IPV6_AS_BYTES, ( (InetAddress) convertedIPv6 ).getAddress() );
  }