code: public ThriftType getThriftType(Type javaType)
              throws IllegalArgumentException
      {
          ThriftType thriftType = getThriftTypeFromCache(javaType);
          if (thriftType == null) {
              thriftType = buildThriftType(javaType);
          }
          return thriftType;
      }
docs: Gets the ThriftType for the specified Java type.  The native Thrift type for the Java type will
  be inferred from the Java type, and if necessary type coercions will be applied.
  
  @return the ThriftType for the specified java type; never null
  @throws IllegalArgumentException if the Java Type can not be coerced to a ThriftType