docs: @Pure
  	@SuppressWarnings({ "unchecked", "rawtypes", "static-method" })
  	protected int compareSegments(GraphSegment<?, ?> firstSegment, GraphSegment<?, ?> secondSegment) {
  		if (firstSegment instanceof Comparable) {
  			try {
  				return ((Comparable) firstSegment).compareTo(secondSegment);
  			} catch (AssertionError e) {
  				throw e;
  			} catch (Throwable e) {
  				//
  			}
  		}
  		return firstSegment.hashCode() - secondSegment.hashCode();
  	}