private void AddVertexOfEdgesById(int vertexId, int edgeId)
 {
     if (VertexOfEdgesById.ContainsKey(vertexId))
     {
         VertexOfEdgesById[vertexId].Add(edgeId);
     }
     else
     {
         VertexOfEdgesById.Add(vertexId, new List <int> {
             edgeId
         });
     }
 }
 public void RemoveById(int id)
 {
     if (Verticies.ContainsKey(id))
     {
         Verticies.Remove(id);
         if (VertexOfEdgesById.ContainsKey(id))
         {
             VertexOfEdgesById.Remove(id);
         }
     }
     if (Edges.ContainsKey(id))
     {
         var e = Edges[id];
         VertexOfEdgesById.Remove(e.FromId);
         VertexOfEdgesById.Remove(e.ToId);
         Edges.Remove(id);
     }
 }