### Question:
StreamLookupStepAnalyzer extends StepAnalyzer<StreamLookupMeta> { @Override public Set<ComponentDerivationRecord> getChangeRecords( StreamLookupMeta meta ) throws MetaverseAnalyzerException { Set<ComponentDerivationRecord> changeRecords = new HashSet<>(); String[] names = meta.getValue(); String[] newFields = meta.getValueName(); for ( int i = 0; i < names.length; i++ ) { String name = names[i]; String newFieldName = newFields[i]; if ( newFieldNameExistsInMainInputStream( newFieldName ) ) { RowMetaInterface outputFields = getOutputFields( meta ); for ( int renameIdx = 1; renameIdx <= valueNames.length; renameIdx++ ) { ValueMetaInterface outField = outputFields.searchValueMeta( newFieldName + "_" + renameIdx ); if ( outField == null ) { newFieldName = newFieldName + "_" + renameIdx; break; } } } ComponentDerivationRecord renameFieldRecord = new ComponentDerivationRecord( name, newFieldName, ChangeType.METADATA ); renameFieldRecord.addOperation( Operation.getRenameOperation() ); changeRecords.add( renameFieldRecord ); } return changeRecords; }  @Override Set<Class<? extends BaseStepMeta>> getSupportedSteps(); @Override Map<String, RowMetaInterface> getInputFields( StreamLookupMeta meta ); @Override Set<ComponentDerivationRecord> getChangeRecords( StreamLookupMeta meta );  }### Answer:
@Test public void testGetChangeRecords() throws Exception { analyzer.setStepMeta( streamLookupMeta ); Set<ComponentDerivationRecord> changeRecords = analyzer.getChangeRecords( streamLookupMeta ); assertNotNull( changeRecords ); assertEquals( 1, changeRecords.size() ); ComponentDerivationRecord cr = changeRecords.iterator().next(); assertEquals( ChangeType.METADATA, cr.getChangeType() ); assertEquals( 1, cr.getOperations().size() ); }