FlowDefBuilder { public FlowDef build () { built = true; return new FlowDef( operators, connections ); }  FlowDef build(); FlowDefBuilder add( final OperatorDefBuilder operatorDefBuilder ); FlowDefBuilder add( final OperatorDef operatorDef ); FlowDefBuilder connect( final String sourceOperatorId, final String destinationOperatorId ); FlowDefBuilder connect( final String sourceOperatorId, int sourcePort, final String destinationOperatorId ); FlowDefBuilder connect( final String sourceOperatorId, final String destinationOperatorId, final int destinationPort ); FlowDefBuilder connect( final String sourceOperatorId,
                                    final int sourcePort,
                                    final String destinationOperatorId,
                                    final int destinationPort );  }
@Test( expected = IllegalArgumentException.class ) public void shouldNotBuildEmptyFlow () { assertNotNull( builder.build() ); }