core/src/com/google/inject/util/Types.java
public static ParameterizedType newParameterizedTypeWithOwner(
      Type ownerType, Type rawType, Type... typeArguments) {
    return new ParameterizedTypeImpl(ownerType, rawType, typeArguments);
  }
public static ParameterizedType newParameterizedTypeWithOwner(
      Type ownerType, Type rawType, Type... typeArguments) {
    return new ParameterizedTypeImpl(ownerType, rawType, typeArguments);
  }
public static ParameterizedType newParameterizedTypeWithOwner ( Type ownerType , Type rawType , Type ... typeArguments ) { return new ParameterizedTypeImpl ( ownerType , rawType , typeArguments ) ; }
Returns a new parameterized type, applying {@code typeArguments} to {@code rawType} and
enclosed by {@code ownerType}.

@return a {@link java.io.Serializable serializable} parameterized type.
Returns a new parameterized type applying { @code typeArguments } to { @code rawType } and enclosed by { @code ownerType } .