typename boost::enable_if<
        md::neighbor::meta::is_simple_neighbor<
          typename DataSequence::value_type
        >,
      void>::type update(
        DataSequence& data, Length& buffer_length, Length const cutoff_length,
        Length const search_length, SquaredLength const squared_search_length,
        Particles const& particles, Time const time_step)
      {
        data.clear();
        md::neighbor::inexclusive_cells_neighbor_list_detail::update_impl(
          data, squared_search_length, particles
        );

        buffer_length
          = md::neighbor::inexclusive_cells_neighbor_list_detail
            ::get_buffer_length(
              cutoff_length, search_length, particles, time_step
            );
      }
      typename boost::enable_if<
        boost::mpl::and_<
          typename boost::mpl::not_<
            typename md::neighbor::meta::is_simple_neighbor<
              typename DataSequence::value_type
            >::type
          >::type,
          typename MD_IS_CONVERTIBLE<
            typename std::iterator_traits<
              typename DataSequence::iterator
            >::iterator_category,
            std::random_access_iterator_tag
          >::type
        >,
      void>::type update(
        DataSequence& data, Length& buffer_length, Length const cutoff_length,
        Length const search_length, SquaredLength const squared_search_length,
        Particles1 const& particles1, Particles2 const& particles2,
        Time const time_step)
      {
        DataSequence const old_data(data);

        data.clear();
        md::neighbor::inexclusive_cells_neighbor_list_detail::update_impl(
          data, squared_search_length, particles1, particles2
        );

        md::neighbor::inexclusive_cells_neighbor_list_detail::modify_data(
          data, old_data
        );

        buffer_length
          = md::neighbor::inexclusive_cells_neighbor_list_detail
            ::get_buffer_length(
              cutoff_length, search_length, particles1, particles2, time_step
            );
      }