public int compare(ICFInternetVersionObj lhs, ICFInternetVersionObj rhs) {
   if (lhs == null) {
     if (rhs == null) {
       return (0);
     } else {
       return (-1);
     }
   } else if (rhs == null) {
     return (1);
   } else {
     String lhsValue = lhs.getObjQualifiedName();
     String rhsValue = rhs.getObjQualifiedName();
     if (lhsValue == null) {
       if (rhsValue == null) {
         return (0);
       } else {
         return (-1);
       }
     } else if (rhsValue == null) {
       return (1);
     } else {
       return (lhsValue.compareTo(rhsValue));
     }
   }
 }
 public Object getValueAt(int row, int column) {
   final String S_ProcName = "getValueAt";
   if ((row < 0) || (column < -1)) {
     return (null);
   }
   if (arrayOfVersion == null) {
     return (null);
   }
   int len = arrayOfVersion.length;
   if (row >= len) {
     return (null);
   }
   ICFInternetVersionObj obj = arrayOfVersion[row];
   if (obj == null) {
     return (null);
   }
   Object retval;
   switch (column) {
     case COLID_ROW_HEADER:
       retval = obj;
       break;
     case COLID_OBJQUALIFIEDNAME:
       retval = obj.getObjQualifiedName();
       break;
     case COLID_OBJKIND:
       String classCode = obj.getClassCode();
       if (classCode.equals("VERN")) {
         retval = "Version";
       } else if (classCode.equals("MJVR")) {
         retval = "MajorVersion";
       } else if (classCode.equals("MNVR")) {
         retval = "MinorVersion";
       } else {
         throw CFLib.getDefaultExceptionFactory()
             .newRuntimeException(
                 getClass(),
                 S_ProcName,
                 "Unsupported class code \"" + classCode + "\" detected");
       }
       break;
     case COLID_ID:
       retval = new Long(obj.getRequiredId());
       break;
     case COLID_DESCRIPTION:
       retval = obj.getOptionalDescription();
       if (retval == null) {
         retval = "";
       }
       break;
     default:
       retval = null;
       break;
   }
   return (retval);
 }