docs: public static <T> Instantiator<T> newInstantiator(Class<T> clazz)
      {
          final Constructor<T> constructor = getConstructor(clazz);
          if(constructor == null)
          {
              // non-sun jre
              if(newInstanceFromObjectInputStream == null)
              {
                  if(objectConstructorId == -1)
                      throw new RuntimeException("Could not resolve constructor for " + clazz);
  
                  return new Android3Instantiator<T>(clazz);
              }
              
              return new Android2Instantiator<T>(clazz);
          }
          
          return new DefaultInstantiator<T>(constructor);
      }