public T createMeta() { try { T meta = clazz.newInstance(); if ( meta instanceof BaseStepMeta ) { StepMeta mockParentStepMeta = mock( StepMeta.class ); ( (BaseStepMeta) meta ).setParentStepMeta( mockParentStepMeta ); TransMeta mockTransMeta = mock( TransMeta.class ); NamedClusterEmbedManager embedManager = mock( NamedClusterEmbedManager.class ); when( mockParentStepMeta.getParentTransMeta() ).thenReturn( mockTransMeta ); when( mockTransMeta.getNamedClusterEmbedManager() ).thenReturn( embedManager ); } return meta; } catch ( Exception e ) { throw new RuntimeException( "Unable to create meta of class " + clazz.getCanonicalName(), e ); } }