### Question:
NodeRef implements Bounded, Comparable<NodeRef> { public @Override int compareTo(NodeRef o) { int c = parentPath.compareTo(o.getParentPath()); if (c == 0) { return node.compareTo(o.getNode()); } return c; } NodeRef(@NonNull Node node, String parentPath, @NonNull ObjectId metadataId); NodeRef update(final ObjectId newId, final @Nullable Envelope newBounds); static NodeRef createRoot(Node node); static NodeRef create(String parentPath, Node node); static NodeRef create(String parentPath, Node node, ObjectId metadataId); String getParentPath(); Node getNode(); String path(); String name(); @Override ObjectId getObjectId(); ObjectId getMetadataId(); ObjectId getDefaultMetadataId(); RevObject.TYPE getType(); @Override boolean equals(Object o); @Override int hashCode(); @Override int compareTo(NodeRef o); @Override String toString(); static @Nullable String parentPath(@Nullable String fullPath); static void checkValidPath(final String path); static @Nullable String nodeFromPath(@Nullable String fullPath); static boolean isDirectChild(@NonNull String parentPath, @NonNull String nodePath); static boolean isChild(@NonNull String parentPath, @NonNull String nodePath); static List<String> allPathsTo(final @NonNull String path); static List<String> split(final @NonNull String path); static String appendChild(String parentTreePath, @NonNull String childName); @Override boolean intersects(Envelope env); @Override void expand(Envelope env); static int depth(String path); static String removeParent(final String parentPath, final String childPath); @Override Optional<Envelope> bounds(); static NodeRef tree(@NonNull String treePath, @NonNull ObjectId id,
            @NonNull ObjectId metadataId); static final String ROOT; static final char PATH_SEPARATOR; }### Answer:
@Test public void testCompareTo() { Node node = RevObjectFactory.defaultInstance().createNode("Points.1", ObjectId.valueOf("abc123000000000000001234567890abcdef0000"), ObjectId.NULL, TYPE.FEATURE, null, null); NodeRef nodeRef = NodeRef.create("Points", node); assertFalse(nodeRef.equals(node)); Node node2 = RevObjectFactory.defaultInstance().createNode("Lines.1", ObjectId.valueOf("abc123000000000000001234567890abcdef0001"), ObjectId.NULL, TYPE.FEATURE, null, null); NodeRef nodeRef2 = new NodeRef(node2, "Lines", ObjectId.NULL); assertTrue(nodeRef.compareTo(nodeRef2) > 0); assertTrue(nodeRef2.compareTo(nodeRef) < 0); assertTrue(nodeRef.compareTo(nodeRef) == 0); }