code: private Class reifyParameterizedTypeClass() {
          //Borrowed from http://codyaray.com/2013/01/finding-generic-type-parameters-with-guava
  
          //Figure out what class of objects we have
          Class<?> viewClass = getClass();
          while (!viewClass.getSuperclass().equals(TokenCompleteTextView.class)) {
              viewClass = viewClass.getSuperclass();
          }
  
          // This operation is safe. Because viewClass is a direct sub-class, getGenericSuperclass() will
          // always return the Type of this class. Because this class is parameterized, the cast is safe
          ParameterizedType superclass = (ParameterizedType) viewClass.getGenericSuperclass();
          Type type = superclass.getActualTypeArguments()[0];
          return (Class)type;
      }
docs: Used to determine if we can use the Parcelable interface