Original
 1 public synchronized boolean remove(Marker markerToRemove) {
 2   if (children == null) {
 3     return false;
 4   }
 5 
 6   int size = children.size();
 7   for (int i = 0; i < size; i++) {
 8     Marker m = (Marker) children.get(i);
 9     if (markerToRemove.equals(m)) {
10       children.remove(i);
11       return true;
12     }
13   }
14   
15   return false;
16 }
17 
Modified
 1 public synchronized boolean remove(Marker referenceToRemove) {
 2   if (refereceList == null) {
 3     return false;
 4   }
 5 
 6   int size = refereceList.size();
 7   for (int i = 0; i < size; i++) {
 8     Marker m = (Marker) refereceList.get(i);
 9     if (referenceToRemove.equals(m)) {
10       refereceList.remove(i);
11       return true;
12     }
13   }
     
14 return false;
15 }
16