private void storeBeanList(Field.BeanTable beanTable, String name, PersistentBean bean) {
    if (bean == null) return;

    List newValue = (List) beanTable.getValue();

    // if it matches whats already stored (inherited or not), dont need to store it
    List oldValue = (List) bean.getObject(name);
    if (newValue.equals(oldValue)) return;

    // otherwise store it
    if (isInheritable(beanTable)) bean.putObject("localMetadataInheritable." + name, newValue);
    else bean.putObject("localMetadata." + name, newValue);
  }