class ManeuverResources {

    public String getExitDirections(final Maneuver maneuver) {
        final Signpost signpost = maneuver.getSignpost();
        if (signpost == null) {
            return null;
        }
        final List<Signpost.LocalizedLabel> exitDirections = signpost.getExitDirections();
        if (exitDirections == null) {
            return null;
        }
        String exitDirectionsText = null;
        for (Signpost.LocalizedLabel label:exitDirections) {
            final String text = label.getText();
            if (!TextUtils.isEmpty(text)) {
                exitDirectionsText = exitDirectionsText == null ? text :
                        mContext.getString(R.string.msdkui_maneuver_road_name_divider, exitDirectionsText, text);
            }
        }
        return exitDirectionsText;
    }

    @SuppressWarnings("PMD.NcssCount") // There is no purpose to break this constuctor into smaller functions. /** * Constructs a new instance using a list of maneuvers. */ public  ManeuverResources(final Context context, final List<Maneuver> maneuverList);

}