private Object getSet(PBDeserializer deserializer, Type type, Object[] extraParams) {
   Object set;
   if (isInterface(extraParams)) {
     set = getActualTypeObjectWhileInterface(deserializer);
   } else {
     set = createSet(type);
   }
   int size = 0;
   try {
     size = deserializer.scanNaturalInt();
   } catch (Exception e) {
     e.printStackTrace();
   }
   deserializer.addToObjectIndexMap(set, this);
   Class componentClazz;
   if (extraParams == null || extraParams.length == 0) {
     componentClazz = Object.class;
   } else {
     componentClazz = (Class) extraParams[0];
   }
   if (componentClazz == Object.class) { // 选择性写入类名(Object)
     getObjectElement(deserializer, set, size);
   } else { // 都不写(Generic)
     getElementWithGerenic(deserializer, set, componentClazz, size);
   }
   return set;
 }