Need Help Implenting Custom Data

Another thing: Immediately after I successfully offer my WarpData to the Sign, I try to get it back using:

Optional<Warp> checkOptWarp = event.getTargetTile().get(Keys.WARP);
            if(checkOptWarp.isPresent()) {
                System.out.println("present");
                System.out.println(checkOptWarp.get().getName());
            } else {
                System.out.println("not present");
            }

which prints out “not present” every time. How can I fix this?