Stream<ProtoTypeType> protoTypeStream() { return packageInfo.declaredTypeInfoStream() .flatMap(TypeInfo::declaredTypeInfoStream) .filter(type -> type.hasAnnotation(ProtoType.class)) .map(ProtoTypeType::of) .sorted((t1, t2) -> t1.tagName().compareTo(t2.tagName())); }
public static ForwardingPackageInfo of(PackageInfo packageInfo) { return new ForwardingPackageInfo( packageInfo, packageInfo.declaredTypeInfoStream().collect(MoreCollectors.toImmutableList())); }