question: private MarkerMoveResultWithCircle onMarkerMoved ( Marker marker ) { GeofenceCircle . MarkerMoveResult result = GeofenceCircle . MarkerMoveResult . none ; GeofenceCircle affectedDraggableCircle = null ; ArrayList < GeofenceCircle > allMarkers = new ArrayList < > ( ) ; allMarkers . addAll ( areas ) ; allMarkers . addAll ( savedPoints ) ; allMarkers . addAll ( savedDataPoints ) ; for ( int i = 0 ; i < allMarkers . size ( ) ; i ++ ) { GeofenceCircle draggableCircle = allMarkers . get ( i ) ; result = draggableCircle . onMarkerMoved ( marker ) ; if ( result != GeofenceCircle . MarkerMoveResult . none ) { affectedDraggableCircle = draggableCircle ; break ; } } return new MarkerMoveResultWithCircle ( result , affectedDraggableCircle ) ; }
target:  When marker is moved, notify circles The circle containing the marker will execute necessary actions