/** JACOB class reading method. */
 public boolean read(aos.apib.InStream in, aos.apib.Base o) {
   int i = -1;
   while ((i = in.nextField(i, this)) >= 0) {
     if (!readField(in, o, i)) {
       return false;
     }
   }
   return true;
 }
 /** JACOB method to read fields. */
 public boolean readField(aos.apib.InStream in, aos.apib.Base o, int i) {
   if (i > __field_names.length)
     return getBaseClassStreamer().readField(in, o, i - __field_names.length - 1);
   CurrentPosition__Tuple v = (CurrentPosition__Tuple) o;
   switch (i) {
     case 0:
       v.posX = in.getInt();
       break;
     case 1:
       v.posY = in.getInt();
       break;
     case 2:
       in.readBaseClasses(o, this, 0);
       break;
     default:
       if (i >= 0 && i <= 2) break;
       in.error("Reader for CurrentPosition__Tuple: illegal field number:" + i);
       return false;
   }
   return true;
 }