code: protected void setIndexedProperty(Object bean, String name, int[] indexes, Object value, FormMappingOption option) { // e.g. sea[0]
          final BeanDesc beanDesc = BeanDescFactory.getBeanDesc(bean.getClass());
          if (!beanDesc.hasPropertyDesc(name)) {
              return;
          }
          final PropertyDesc pd = beanDesc.getPropertyDesc(name);
          if (!pd.isWritable()) {
              return;
          }
          if (value.getClass().isArray() && Array.getLength(value) > 0) {
              value = Array.get(value, 0);
          }
          final Class<?> propertyType = pd.getPropertyType();
          if (propertyType.isArray()) {
              Object array = pd.getValue(bean);
              final Class<?> elementType = getArrayElementType(propertyType, indexes.length);
              if (array == null) {
                  int[] newIndexes = new int[indexes.length];
                  newIndexes[0] = indexes[0] + 1;
                  array = Array.newInstance(elementType, newIndexes);
              }
              array = expand(array, indexes, elementType);
              pd.setValue(bean, array);
              setArrayValue(array, indexes, value);
          } else { // e.g. List, ImmutableList, MutableList
              // process of your collections should be first because MutableList is java.util.List 
              final Optional<FormYourCollectionResource> yourCollection = findListableYourCollection(pd, option);
              if (yourCollection.isPresent()) { // e.g. ImmutableList, MutableList
                  doSetIndexedPropertyListable(bean, name, indexes, value, beanDesc, pd, option, newList -> {
                      @SuppressWarnings("unchecked")
                      final List<Object> filtered = (List<Object>) yourCollection.get().getYourCollectionCreator().apply(newList);
                      return filtered;
                  });
              } else if (List.class.isAssignableFrom(propertyType)) {
                  doSetIndexedPropertyListable(bean, name, indexes, value, beanDesc, pd, option, Function.identity());
              } else {
                  throwIndexedPropertyNotListArrayException(beanDesc, pd);
              }
          }
      }
docs: --------------------