code: private static String generateTab(int depth) {
      StringBuilder builder = new StringBuilder();
      if (depth != 0) {
        builder.append("  ");
      }
  
      for (int i = 1; i < depth; i++) {
        builder.append("|  ");
      }
  
      return builder.append("+--").toString();
    }
docs: Generates a {@code String} of tabs to represent branching to children.
  
  @param depth a depth from 0 to max(depth)
  @return a {@code String} to insert in front of the root unit