Fixed Plan.java so it reads and writes JSON files with non-inclusive range upper bounds