code: public static boolean isPropertyType(final Type type) {
          if (type instanceof GenericArrayType) {
              return isPropertyType(((GenericArrayType) type).getGenericComponentType());
          }
          if (type instanceof ParameterizedType) {
              return isPropertyType(((ParameterizedType) type).getRawType());
          }
          return type instanceof Class && isPropertyType((Class) type);
      }
docs: Check if the class supplied represents a valid property type.
  
  @param type the class we want to check
  @return true if the class represents a valid property type