@Override
  public StepInterface getStep( StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta,
                                Trans trans ) {
    return new JmsConsumer( stepMeta, stepDataInterface, copyNr, transMeta, trans );
  }
@Test
  public void withVariablesGetsNewObjectFromRegistry() throws KettleXMLException, KettleMissingPluginsException {
    String path = getClass().getResource( "/jms-consumer.ktr" ).getPath();
    TransMeta transMeta = new TransMeta( path, new Variables() );
    StepMeta step = transMeta.getStep( 0 );
    JmsConsumerMeta jmsMeta = (JmsConsumerMeta) step.getStepMetaInterface();
    assertEquals( "${testOne}", jmsMeta.jmsDelegate.amqUrl );
    Variables variables = new Variables();
    variables.setVariable( "testOne", "changedValue" );
    JmsConsumerMeta jmsMetaWithVars = (JmsConsumerMeta) jmsMeta.withVariables( variables );
    assertEquals( "changedValue", jmsMetaWithVars.jmsDelegate.amqUrl );
  }