code: public void registerCustomType(Class<? extends IBase> theType) {
  		Validate.notNull(theType, "theType must not be null");
  
  		ensureCustomTypeList();
  		myCustomTypes.add(theType);
  	}
docs: This method may be used to register a custom resource or datatype. Note that by using
  custom types, you are creating a system that will not interoperate with other systems that
  do not know about your custom type. There are valid reasons however for wanting to create
  custom types and this method can be used to enable them.
  <p>
  <b>THREAD SAFETY WARNING:</b> This method is not thread safe. It should be called before any
  threads are able to call any methods on this context.
  </p>
  
  @param theType The custom type to add (must not be <code>null</code>)