code: public void addMilestone(@NonNull Milestone milestone) {
      boolean milestoneAdded = milestones.add(milestone);
      if (!milestoneAdded) {
        Timber.w("Milestone has already been added to the stack.");
      }
    }
docs: Navigation {@link Milestone}s provide a powerful way to give your user instructions at custom
  defined locations along their route. Default milestones are automatically added unless
  {@link MapboxNavigationOptions#defaultMilestonesEnabled()} is set to false but they can also
  be individually removed using the {@link #removeMilestone(Milestone)} API. Once a custom
  milestone is built, it will need to be passed into the navigation SDK through this method.
  <p>
  Milestones can only be added once and must be removed and added back if any changes are
  desired.
  </p>
  
  @param milestone a custom built milestone
  @since 0.4.0