public boolean eqlt(final LangType obj) {
   if (obj == null) {
     lastEqlState = -5;
     return false;
   }
   if (this == obj) {
     lastEqlState = 5;
     return true;
   }
   // Check if obj is a super class
   if (this.getClass().isAssignableFrom(obj.getClass())) {
     lastEqlState = -7;
     return true;
   }
   lastEqlState = -99;
   return false;
 }
    public boolean eql(final LangType obj) {
      if (obj == null) {
        lastEqlState = -2;
        return false;
      }
      if (this == obj) {
        lastEqlState = 1;
        return true;
      }
      // Check if obj is a super class
      if (!this.getClass().isAssignableFrom(obj.getClass())) {
        lastEqlState = -3;
        return false;
      }

      if (this.token().equals(obj.token())) {
        lastEqlState = 2;
        return true;
      }
      lastEqlState = -9;
      return false;
    }