code: public boolean deleteFlowEdge(FlowEdge edge) {
      try {
        rwLock.writeLock().lock();
        if (!dataNodeMap.containsKey(edge.getSrc())) {
          return false;
        }
        DataNode node = dataNodeMap.get(edge.getSrc());
        if (!nodesToEdges.get(node).contains(edge)) {
          return false;
        }
        this.nodesToEdges.get(node).remove(edge);
        this.flowEdgeMap.remove(edge.getId());
        return true;
      } finally {
        rwLock.writeLock().unlock();
      }
    }
docs: Delete a {@FlowEdge} from the {@link FlowGraph}.
  @param edge to be deleted.
  @return true if {@link FlowEdge} is successfully deleted. If the source of a {@link FlowEdge} does not exist or
  if the {@link FlowEdge} is not in the graph, return false.