public Stream<ColumnName> resolveSelectStar(
      final Optional<SourceName> sourceName
  ) {
    return getSources().stream()
        .filter(s -> !sourceName.isPresent()
            || !s.getSourceName().isPresent()
            || sourceName.equals(s.getSourceName()))
        .flatMap(s -> s.resolveSelectStar(sourceName));
  }
@Test
  public void shouldResolveUnaliasedSelectStarByCallingAllSources() {
    // When:
    final Stream<ColumnName> result = planNode.resolveSelectStar(Optional.empty());

    // Then:
    final List<ColumnName> columns = result.collect(Collectors.toList());
    assertThat(columns, contains(COL0, COL1, COL2, COL3));

    verify(source1).resolveSelectStar(Optional.empty());
    verify(source2).resolveSelectStar(Optional.empty());
  }