precisa remover a última polilinha e criar polilinha atual

eu faço google map com google direção eu uso classehttp://www.akexorcist.com/2015/12/google-direction-library-for-android-en.html que alguém construa para a direção do google. tudo está funcionando bem, e a polilinha aparece no mapa. mas quando preciso clicar em outra direção, como a direção a pé ou a direção da unidade, vejo 2 polilinha no mapa e quero ver apenas a polilinha atual.

aqui eu crio a polilinha e removo a polilinha no início, então a polilinha não aparece. Eu não quero isso. Eu quero quando eu clicar no botão mais a polilinha irá remover. eu tento colocar, polyline.remove (); no botão clique em mais, mas o problema é que, se polyline.remove (); fora dos parênteses, polyline.remove (); não remova a polilinha. Eu preciso chamar polyline.remove (); quando clico em outro botão, mas eu preso. aqui está o código:

    switch (direction.getStatus()) {
        case RequestResult.OK:
            Route route = direction.getRouteList().get(0);

            Leg leg = route.getLegList().get(0);

            ArrayList<LatLng> pointList = leg.getDirectionPoint();

            List<Step> stepList = direction.getRouteList().get(0).getLegList().get(0).getStepList();
            ArrayList<PolylineOptions> polylineOptionList = DirectionConverter.createTransitPolyline(this, stepList, 5, Color.RED, 3, Color.BLUE);
            for (PolylineOptions polylineOption : polylineOptionList) {
                polyline = mMap.addPolyline(polylineOption);
                polyline.remove();

            }

                break;

2.Quando clico no botão Andar, quero que a polilinha de trânsito remova o que temos o tempo todo, apenas uma polilinha no mapa. como eu faço isso?

   bWalking.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                            if (locationGpsLatLng == null) {
                                                Toast.makeText(MapsActivity.this, "Need GPS location", `enter code here`Toast.LENGTH_SHORT).show();{
                                                    return;
                                                }
                                            }
                                            if (markerLocation == null) {
                                                Toast.makeText(MapsActivity.this, "Type on marker bathroom for destination", Toast.LENGTH_SHORT).show();
                                            } else {
                                            sendRequestWalkingDirection();


                                        }
                                    };
                                    private void sendRequestWalkingDirection() {
                                        GoogleDirection.withServerKey(APIKEY)
                                                .from(locationGpsLatLng)
                                                .to(markerLocation)
                                                .transportMode(TransportMode.WALKING)
                                                .execute(new DirectionCallback() {
                                                    @Override
                                                    public void onDirectionSuccess(Direction direction, String rawBody) {
                                                        Log.d("onDirectionSuccess", "status: " + direction.getStatus());
                                                        requestOk(direction, rawBody);
                                                        mMap.addMarker(new MarkerOptions().position(locationGpsLatLng).draggable(false).icon(BitmapDescriptorFactory
                                                                .defaultMarker(BitmapDescriptorFactory.HUE_RED)));
                                                        CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(locationGpsLatLng, 15);
                                                        mMap.animateCamera(cameraUpdate);
                                                    }
                                                    @Override
                                                    public void onDirectionFailure(Throwable t) {
                                                        return;
                                                    }
                                                });
                                    }
   });