docs: public static List<WayDataBlock> encode(List<WayDataBlock> blocks, Encoding encoding) {
          if (blocks == null) {
              return null;
          }
  
          if (encoding == Encoding.NONE) {
              return blocks;
          }
  
          List<WayDataBlock> results = new ArrayList<>();
  
          for (WayDataBlock wayDataBlock : blocks) {
              List<Integer> outer = mEncode(wayDataBlock.getOuterWay(), encoding);
              List<List<Integer>> inner = null;
              if (wayDataBlock.getInnerWays() != null) {
                  inner = new ArrayList<>();
                  for (List<Integer> list : wayDataBlock.getInnerWays()) {
                      inner.add(mEncode(list, encoding));
                  }
              }
              results.add(new WayDataBlock(outer, inner, encoding));
          }
  
          return results;
      }