My own implementation of a Graph data structure in Java