Я использую com4j для генерации определений типов Java из библиотеки типов COM. Сгенерированный код содержит множество применений аннотации @Optional, например:
@DISPID(14) //= 0xe. The runtime will prefer the VTID if present
@VTID(23)
void mail(
java.lang.String sendTo,
@Optional @DefaultValue("") java.lang.String sendCc,
@Optional @DefaultValue("0") int option,
@Optional @DefaultValue("") java.lang.String subject,
@Optional @DefaultValue("") java.lang.String comment);
Однако @Optional не разрешается, и я не могу найти, где он определен.