PageRank first PR

Work still in progress. Sending it out for some feedback anyways. 

throw new RuntimeException("Will never happen: all classes above are supported", e);