### Question:
FilterRowsMeta extends BaseStepMeta implements StepMetaInterface { public Object clone() { FilterRowsMeta retval = (FilterRowsMeta) super.clone(); retval.setTrueStepname( getTrueStepname() ); retval.setFalseStepname( getFalseStepname() ); if ( condition != null ) { retval.condition = (Condition) condition.clone(); } else { retval.condition = null; } return retval; } FilterRowsMeta(); void loadXML( Node stepnode, List<DatabaseMeta> databases, IMetaStore metaStore ); Condition getCondition(); void setCondition( Condition condition ); void allocate(); Object clone(); String getXML(); void setDefault(); void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ); @Override void searchInfoAndTargetSteps( List<StepMeta> steps ); void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ); void getFields( RowMetaInterface rowMeta, String origin, RowMetaInterface[] info, StepMeta nextStep,
    VariableSpace space, Repository repository, IMetaStore metaStore ); void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,
    RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space,
    Repository repository, IMetaStore metaStore ); StepInterface getStep( StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta tr,
    Trans trans ); StepDataInterface getStepData(); StepIOMetaInterface getStepIOMeta(); @Override void resetStepIoMeta(); void handleStreamSelection( StreamInterface stream ); @Override boolean excludeFromCopyDistributeVerification(); List<String> getOrphanFields( Condition condition, RowMetaInterface prev ); String getTrueStepname(); @Injection( name = "SEND_TRUE_STEP" ) void setTrueStepname( String trueStepname ); String getFalseStepname(); @Injection( name = "SEND_FALSE_STEP" ) void setFalseStepname( String falseStepname ); String getConditionXML(); @Injection( name = "CONDITION" ) void setConditionXML( String conditionXML );  }### Answer:
@Test public void testClone() { FilterRowsMeta filterRowsMeta = new FilterRowsMeta(); filterRowsMeta.setCondition( new Condition() ); filterRowsMeta.setTrueStepname( "true" ); filterRowsMeta.setFalseStepname( "false" ); FilterRowsMeta clone = (FilterRowsMeta) filterRowsMeta.clone(); assertNotNull( clone.getCondition() ); assertEquals( "true", clone.getTrueStepname() ); assertEquals( "false", clone.getFalseStepname() ); }