private static void adjustForCollisions(Canvas canvas, List<Marker> collection) {
    updated.clear();
    for (Marker marker1 : collection) {
      if (updated.contains(marker1) || !marker1.isInView()) continue;

      int collisions = 1;
      for (Marker marker2 : collection) {
        if (marker1.equals(marker2) || updated.contains(marker2) || !marker2.isInView()) continue;

        if (marker1.isMarkerOnMarker(marker2)) {
          marker2.getLocation().get(locationArray);
          float y = locationArray[1];
          float h = collisions * COLLISION_ADJUSTMENT;
          locationArray[1] = y + h;
          marker2.getLocation().set(locationArray);
          marker2.update(canvas, 0, 0);
          collisions++;
          updated.add(marker2);
        }
      }
      updated.add(marker1);
    }
  }