question: private static int snapHorizontal ( Collection < ConstraintWidget > widgets , ConstraintWidget widget , ConstraintAnchor anchor , int position , ArrayList < SnapCandidate > snapCandidates ) { SnapCandidate candidate = new SnapCandidate ( ) ; ConstraintHandle handle = WidgetInteractionTargets . constraintHandle ( anchor ) ; handle . setDrawX ( position ) ; SnapPlacement . snapAnchor ( widgets , widget , anchor , candidate ) ; if ( candidate . target != null ) { ConstraintHandle targetHandle = WidgetInteractionTargets . constraintHandle ( candidate . target ) ; int tx = candidate . x ; if ( targetHandle != null ) { tx = targetHandle . getDrawX ( ) ; } position = tx + candidate . margin ; snapCandidates . add ( candidate ) ; } return position ; }
target:  Utility function to gather snap candidates on the horizontal axis