return Flavours.cases()
.Jdk(() -> optionType(elements.getTypeElement(Optional.class.getName()), "empty", "of"))
.Fj(() -> optionType(elements.getTypeElement("fj.data.Option"), "none", "some"))
.Fugue(() -> optionType(elements.getTypeElement("io.atlassian.fugue.Option"), "none", "some"))
.Fugue2(() -> optionType(elements.getTypeElement("com.atlassian.fugue.Option"), "none", "some"))
<BUG>.Javaslang(() -> optionType(elements.getTypeElement("javaslang.control.Option"), "none", "some"))
.apply(flavour);</BUG>
}
public static Optional<EitherType> findEitherType(Flavour flavour, Elements elements) {
return Flavours.cases()

return Flavours.cases()
.Jdk(() -> optionType(elements.getTypeElement(Optional.class.getName()), "empty", "of"))
.Fj(() -> optionType(elements.getTypeElement("fj.data.Option"), "none", "some"))
.Fugue(() -> optionType(elements.getTypeElement("io.atlassian.fugue.Option"), "none", "some"))
.Fugue2(() -> optionType(elements.getTypeElement("com.atlassian.fugue.Option"), "none", "some"))
.Javaslang(() -> optionType(elements.getTypeElement("javaslang.control.Option"), "none", "some"))
.HighJ(() -> optionType(elements.getTypeElement("org.highj.data.collection.Maybe"), "newNothing", "newJust"))
.apply(flavour);
}
public static Optional<EitherType> findEitherType(Flavour flavour, Elements elements) {
return Flavours.cases()
