code: synchronized boolean removeRelation(Interval i1, Interval i2) {
          if (i1 == i2 || !containsInterval(i1) || !containsInterval(i2)) {
              return false;
          }
  
          Object i1Start = i1.getStart();
          Object i1Finish = i1.getFinish();
          Object i2Start = i2.getStart();
          Object i2Finish = i2.getFinish();
  
          directedGraph.setEdge(i1Start, i2Start, null);
          directedGraph.setEdge(i1Start, i2Finish, null);
          directedGraph.setEdge(i2Start, i1Start, null);
          directedGraph.setEdge(i2Start, i1Finish, null);
          directedGraph.setEdge(i1Finish, i2Start, null);
          directedGraph.setEdge(i1Finish, i2Finish, null);
          directedGraph.setEdge(i2Finish, i1Start, null);
          directedGraph.setEdge(i2Finish, i1Finish, null);
  
          calcMinDuration = null;
          calcMaxDuration = null;
          calcMinFinish = null;
          calcMaxFinish = null;
          calcMinStart = null;
          calcMaxStart = null;
          shortestDistancesFromTimeZeroSource = null;
          shortestDistancesFromTimeZeroDestination = null;
  
          return true;
      }
docs: Remove the distance relation between two intervals, if such a relation
  exists.
  
  @param i1
  an interval.
  @param i2
  another interval.
  @return true if the graph changed as a result of this operation, false
  otherwise.