@Override
  public Class<?> getNativeDataTypeClass() throws KettleValueException {
    if ( nativeType == null ) {
      try {
        nativeType = ValueMetaFactory.createValueMeta( getType() );
      } catch ( KettlePluginException e ) {
        throw new KettleValueException( e );
      }
    }
    return nativeType.getNativeDataTypeClass();
  }
@Test
  public void testGetNativeDataTypeClass() throws KettleException {
    PluginRegistry.addPluginType( ValueMetaPluginType.getInstance() );
    PluginRegistry.init();
    String[] valueMetaNames = ValueMetaFactory.getValueMetaNames();

    for ( int i = 0; i < valueMetaNames.length; i++ ) {
      int vmId = ValueMetaFactory.getIdForValueMeta( valueMetaNames[i] );
      ValueMeta vm = new ValueMeta( "", vmId );
      ValueMetaInterface vmi = ValueMetaFactory.createValueMeta( vmId );
      assertTrue( vm.getNativeDataTypeClass().equals( vmi.getNativeDataTypeClass() ) );
    }
  }