### Question:
LineageHolder implements IRequiresMetaverseBuilder { public void addSubTransOrJob( final Object executable ) { if ( executable instanceof Trans || executable instanceof Job ) { this.subTransAndJobs.add( executable ); } else { throw new IllegalArgumentException( Messages.getString( "ERROR.NotATransOrJob" ) ); } } LineageHolder();  LineageHolder( IExecutionProfile profile, IMetaverseBuilder builder ); IExecutionProfile getExecutionProfile(); void setExecutionProfile( IExecutionProfile executionProfile ); @Override IMetaverseBuilder getMetaverseBuilder(); @Override void setMetaverseBuilder( IMetaverseBuilder metaverseBuilder ); Future getLineageTask(); void setLineageTask( Future lineageTask ); String getId(); void setId( String id ); void addSubTransOrJob( final Object executable ); List<Object> getSubTransAndJobs();  }### Answer:
@Test( expected = IllegalArgumentException.class ) public void testAddSubTransOrJobInvalid() { lineageHolder = new LineageHolder(); lineageHolder.addSubTransOrJob( "dummy" ); }
@Test( expected = IllegalArgumentException.class ) public void testAddSubTransOrJobNull() { lineageHolder = new LineageHolder(); lineageHolder.addSubTransOrJob( null ); }