String name = (hasName) ? elementAnnotation.name() : field.getName();
String description = (hasDescription) ? setupAnnotation.description() : field.getName();
Class<? extends TransferPluginOptionCallback> callback = (hasCallback) ? setupAnnotation.callback() : null;
Class<? extends TransferPluginOptionConverter> converter = (hasConverter) ? setupAnnotation.converter() : null;
boolean required = elementAnnotation.required();
boolean sensitive = setupAnnotation != null && setupAnnotation.sensitive();
boolean singular = setupAnnotation != null && setupAnnotation.singular();
boolean encrypted = field.getAnnotation(Encrypted.class) != null;
boolean isNestedOption = TransferSettings.class.isAssignableFrom(field.getType());