public DataType type(byte[] key) {
   try {
     if (isPipelined()) {
       pipeline(pipeline.type(key));
       return null;
     }
     return DataType.fromCode(client.type(key).data());
   } catch (Exception ex) {
     throw convertSrpAccessException(ex);
   }
 }