code: protected void checkInputClass(final Object domainObject) {
          final Class<?> actualInputType = domainObject.getClass();
          if(!(expectedInputType.isAssignableFrom(actualInputType))) {
              throw new IllegalArgumentException("The input document is required to be of type: " + expectedInputType.getName());
          }
      }
docs: Optional hook; default implementation checks that the input type is of the correct type.