public TType create(ITypeBinding binding) {
   if (binding.isPrimitive()) {
     return createPrimitiveType(binding);
   } else if (binding.isArray()) {
     return createArrayType(binding);
   }
   if ("null".equals(binding.getName())) // $NON-NLS-1$
   return NULL;
   return createStandardType(binding);
 }
 private TType createPrimitiveType(ITypeBinding binding) {
   String name = binding.getName();
   String[] names = PrimitiveType.NAMES;
   for (int i = 0; i < names.length; i++) {
     if (name.equals(names[i])) {
       return PRIMITIVE_TYPES[i];
     }
   }
   Assert.isTrue(false, "Primitive type " + name + "unkown"); // $NON-NLS-1$//$NON-NLS-2$
   return null;
 }