docs: public static Field read(DataInputStream is) throws IOException {
          final byte tag = is.readByte();
          final Field result;
          switch (tag) {
              case 0x0f:
              case 0x10:
              case 0x11:
                  result = new NumberField(tag, is);
                  break;
  
              case 0x14:
                  result =  new BinaryField(is);
                  break;
  
              case 0x26:
                  result = new StringField(is);
                  break;
  
              default:
                  throw new IOException("Unable to read a field with type tag " + tag);
          }
  
          logger.debug("..received> {}", result);
          return result;
      }