The create method in the Trees class wasn't passing the "recursive" option to sift, and as a consequence, the each tree in the "tree" hash was getting set to nil