+template<class T>
+void
+substitute_element_array (Link_array<T> &arr, Line_of_score * to)
+{
+ Link_array<T> newarr;
+ for (int i =0; i < arr.size (); i++)
+ {
+ T * t = arr[i];
+ if (t->line_l () != to)
+ {
+ t = dynamic_cast<T*> (t->find_broken_piece (to));
+ }
+
+ if (t)
+ newarr.push (t);
+ }
+ arr = newarr;
+}
+
+
+