code: public static Java4CppType fromType(Type type) {
          Java4CppType j4cType = new Java4CppType(type);
          int index = typeCache.indexOf(j4cType);
          if (index == -1) {
              typeCache.add(j4cType);
              return j4cType;
          }
          return typeCache.get(index);
      }
docs: Returns the corresponding <code>Java4CppType</code> of a
  <code>Type</code>.
  
  Even if <code>List&lt;E></code> and <code>List&lt;?></code> are two
  different instance of <code>Type</code>, this method returns the same
  instance of <code>Java4CppType</code> representing
  <code>List&lt;Object></code>.
  
  @param type
  a Java <code>Type</code>
  @return the corresponding <code>Java4CppType</code> singleton