A rope implementation in Java for Stanford's CS 166