@Override public VendorExtension apply(Extension input) { return Optional.fromNullable(emptyToNull(input.name())) .transform(propertyExtension(input)) .or(objectExtension(input)); } };
private VendorExtension objectExtension(Extension each) { ObjectVendorExtension extension = new ObjectVendorExtension(ensurePrefixed(nullToEmpty(each.name()))); for (ExtensionProperty property : each.properties()) { if (!isNullOrEmpty(property.name()) && !isNullOrEmpty(property.value())) { extension.addProperty(new StringVendorExtension(property.name(), property.value())); } } return extension; }