code: private void populateTranslatedTopicDatabase(final BuildData buildData,
              final Map<String, BaseTopicWrapper<?>> translatedTopics) throws BuildProcessingException {
          final List<ITopicNode> topicNodes = buildData.getContentSpec().getAllTopicNodes();
  
          final int showPercent = 10;
          final float total = topicNodes.size();
          float current = 0;
          int lastPercent = 0;
  
          // Loop over each Topic Node in the content spec and get it's translated topic
          for (final ITopicNode topicNode : topicNodes) {
              getTranslatedTopicForTopicNode(buildData, topicNode, translatedTopics);
  
              ++current;
              final int percent = Math.round(current / total * 100);
              if (percent - lastPercent >= showPercent) {
                  lastPercent = percent;
                  log.info("\tPopulate " + buildData.getBuildLocale() + " Database Pass " + percent + "% Done");
              }
          }
      }
docs: Gets the translated topics from the REST Interface and also creates any dummy translations for topics that have yet to be
  translated.
  
  @param buildData        Information and data structures for the build.
  @param translatedTopics The translated topic collection to add translated topics to.