src/main/java/org/eiichiro/reverb/lang/TypesafeEnum.java
public int compareTo(E o) {
		if (o.getClass() != getClass()) {
			throw new ClassCastException();
		}
		
		return ordinal - TypesafeEnum.class.cast(o).ordinal;
	}
public int compareTo(E o) {
		if (o.getClass() != getClass()) {
			throw new ClassCastException();
		}
		
		return ordinal - TypesafeEnum.class.cast(o).ordinal;
	}
Compares with the specified object by ordinal.

@param o The object to be compared.
@return <code>0</code> If this object is the same ordinal to the
specified object.