docs: public static List<String> getProblems(Graph g) {
          List<String> problems = new ArrayList<>();
          int nodes = g.getNodes();
          int nodeIndex = 0;
          NodeAccess na = g.getNodeAccess();
          try {
              EdgeExplorer explorer = g.createEdgeExplorer();
              for (; nodeIndex < nodes; nodeIndex++) {
                  double lat = na.getLatitude(nodeIndex);
                  if (lat > 90 || lat < -90)
                      problems.add("latitude is not within its bounds " + lat);
  
                  double lon = na.getLongitude(nodeIndex);
                  if (lon > 180 || lon < -180)
                      problems.add("longitude is not within its bounds " + lon);
  
                  EdgeIterator iter = explorer.setBaseNode(nodeIndex);
                  while (iter.next()) {
                      if (iter.getAdjNode() >= nodes) {
                          problems.add("edge of " + nodeIndex + " has a node " + iter.getAdjNode() + " greater or equal to getNodes");
                      }
                      if (iter.getAdjNode() < 0) {
                          problems.add("edge of " + nodeIndex + " has a negative node " + iter.getAdjNode());
                      }
                  }
              }
          } catch (Exception ex) {
              throw new RuntimeException("problem with node " + nodeIndex, ex);
          }
  
  //        for (int i = 0; i < nodes; i++) {
  //            new BreadthFirstSearch().start(g, i);
  //        }
          return problems;
      }