@Override public List<BeanPropertyWriter> changeProperties( SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) { for (int i = 0; i < beanProperties.size(); ++i) { final BeanPropertyWriter writer = beanProperties.get(i); if (Optional.class.isAssignableFrom(writer.getPropertyType())) { beanProperties.set(i, new GuavaOptionalBeanPropertyWriter(writer)); } } return beanProperties; }