private GraphEdgeChangeEvent<V, E> createGraphEdgeChangeEvent( int eventType, E edge, V source, V target, double weight) { if (reuseEvents) { reuseableEdgeEvent.setType(eventType); reuseableEdgeEvent.setEdge(edge); reuseableEdgeEvent.setEdgeSource(source); reuseableEdgeEvent.setEdgeTarget(target); reuseableEdgeEvent.setEdgeWeight(weight); return reuseableEdgeEvent; } else { return new GraphEdgeChangeEvent<>(this, eventType, edge, source, target, weight); } }