code: private boolean removeUnnecesaryEdgesIfAny(final DirectedGraph<Object, JobGraphLink> graph,
              final SourceColumnFinder sourceColumnFinder) {
          final Collection<JobGraphLink> allLinks = graph.getEdges();
          final List<JobGraphLink> linksToRemove = new ArrayList<>();
          for (final JobGraphLink link : allLinks) {
              boolean removeable = true;
  
              if (link.getRequirement() != null) {
                  // only links without requirements are candidates for removal
                  removeable = false;
              }
  
              if (removeable) {
                  final Object toVertex = link.getTo();
                  final Collection<JobGraphLink> edgesGoingIn = graph.getInEdges(toVertex);
                  if (edgesGoingIn.size() <= 1) {
                      // if this is the only edge going in, there is no
                      // special interest
                      removeable = false;
                  }
  
                  if (removeable) {
                      // check if these links represents a "shortcut" path that
                      // can be left out
                      for (final JobGraphLink edgeGoingIn : edgesGoingIn) {
                          if (edgeGoingIn != link) {
                              if (!isEdgeShortcutFor(graph, link, edgeGoingIn)) {
                                  removeable = false;
                                  break;
                              }
                          }
                      }
  
                      if (removeable) {
                          logger.debug("Removing unnecesary JobGraphLink: {}", link);
                          linksToRemove.add(link);
                      }
                  }
              }
          }
  
          for (final JobGraphLink link : linksToRemove) {
              graph.removeEdge(link);
          }
  
          return !linksToRemove.isEmpty();
      }
docs: Runs a single check through the graph to remove unnecesary edges (see
  {@link #removeUnnecesaryEdges(DirectedGraph, SourceColumnFinder)} if any
  are found.
  
  @param graph
  @param sourceColumnFinder
  
  @return whether or not any edges were removed