### Question:
Node implements Bounded, Comparable<Node> { @Override public int compareTo(Node o) { return name.compareTo(o.getName()); } private  Node(final String name, final ObjectId oid, final ObjectId metadataId); Optional<ObjectId> getMetadataId(); String getName(); ObjectId getObjectId(); abstract TYPE getType(); @Override int compareTo(Node o); @Override int hashCode(); @Override boolean equals(Object o); @Override String toString(); @Override boolean intersects(Envelope env); @Override void expand(Envelope env); static Node tree(final String name, final ObjectId oid, final ObjectId metadataId); static Node create(final String name, final ObjectId oid, final ObjectId metadataId,
            final TYPE type, @Nullable final Envelope bounds);  }### Answer:
@Test public void testCompareTo() { Node node = Node.create("Points.1", ObjectId.forString("Points stuff"), ObjectId.NULL, TYPE.FEATURE, null); Node node2 = Node.create("Lines.1", ObjectId.forString("Lines stuff"), ObjectId.NULL, TYPE.FEATURE, null); assertTrue(node.compareTo(node2) > 0); assertTrue(node2.compareTo(node) < 0); assertTrue(node.compareTo(node) == 0); }