boolean removeEdge(SparseEdge e){
  boolean removedEdge=edges.remove(e);
  boolean removedNeighbour=neighbours.remove(e.getOpposite(this));
  if (removedEdge && removedNeighbour)   return true;
 else   if (!removedEdge && !removedNeighbour)   return false;
 else   throw new RuntimeException("Graph connectivity appears to be inconsitent!");
}

boolean removeEdge ( SparseEdge e ) { boolean removedEdge = edges . remove ( e ) ; boolean removedNeighbour = neighbours . remove ( e . getOpposite ( this ) ) ; if ( removedEdge && removedNeighbour ) return true ; else if ( ! removedEdge && ! removedNeighbour ) return false ; else throw new RuntimeException ( "Graph connectivity appears to be inconsitent!" ) ; }
disconnects this vertex from an edge .
