Graph.Memory is now a hiearchy of interfaces. Graph.Memory, Graph.Memory.Computer, Graph.Memory.Computer.System. Graph.memory() returns <M extends Memory> so in most situations you don't need to worry about typecasting.