### Question:
LegalEntityCurveGroup implements CurveGroup, ImmutableBean, Serializable { @Override public Stream<Curve> stream() { return Stream.concat(repoCurves.values().stream(), issuerCurves.values().stream()); } private  LegalEntityCurveGroup(
      CurveGroupName name,
      Map<Pair<RepoGroup, Currency>, Curve> repoCurves,
      Map<Pair<LegalEntityGroup, Currency>, Curve> issuerCurves); static LegalEntityCurveGroup of(
      CurveGroupName name,
      Map<Pair<RepoGroup, Currency>, Curve> repoCurves,
      Map<Pair<LegalEntityGroup, Currency>, Curve> issuerCurves); @Override Optional<Curve> findCurve(CurveName name); Optional<Curve> findRepoCurve(RepoGroup repoGroup, Currency currency); Optional<Curve> findIssuerCurve(LegalEntityGroup legalEntityGroup, Currency currency); @Override Stream<Curve> stream(); Stream<Curve> repoCurveStream(); Stream<Curve> issuerCurveStream(); static LegalEntityCurveGroup.Meta meta(); static LegalEntityCurveGroup.Builder builder(); @Override LegalEntityCurveGroup.Meta metaBean(); @Override CurveGroupName getName(); ImmutableMap<Pair<RepoGroup, Currency>, Curve> getRepoCurves(); ImmutableMap<Pair<LegalEntityGroup, Currency>, Curve> getIssuerCurves(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void stream() { LegalEntityCurveGroup test = LegalEntityCurveGroup.of(NAME1, REPO_CURVES, ISSUER_CURVES); List<Curve> expectedAll = ImmutableList.<Curve>builder() .add(REPO_CURVE) .add(ISSUER_CURVE1) .add(ISSUER_CURVE2) .add(ISSUER_CURVE3) .build(); test.stream().collect(Collectors.toList()).containsAll(expectedAll); List<Curve> expectedRepo = ImmutableList.<Curve>builder() .add(REPO_CURVE) .build(); test.repoCurveStream().collect(Collectors.toList()).containsAll(expectedRepo); List<Curve> expectedIssuer = ImmutableList.<Curve>builder() .add(ISSUER_CURVE1) .add(ISSUER_CURVE2) .add(ISSUER_CURVE3) .build(); test.issuerCurveStream().collect(Collectors.toList()).containsAll(expectedIssuer); }