code: @SuppressWarnings("unchecked")
  	@Override
  	public <E> SqlEntityDelete<E> delete(final Class<? extends E> entityType) {
  		@SuppressWarnings("rawtypes")
  		EntityHandler handler = this.getEntityHandler();
  		if (!handler.getEntityType().isAssignableFrom(entityType)) {
  			throw new IllegalArgumentException("Entity type not supported");
  		}
  
  		try {
  			TableMetadata metadata = handler.getMetadata(this.transactionManager, entityType);
  
  			SqlContext context = handler.createDeleteContext(this, metadata, entityType, false);
  			context.setSqlKind(SqlKind.DELETE);
  
  			return new SqlEntityDeleteImpl<>(this, handler, metadata, context);
  		} catch (SQLException e) {
  			throw new EntitySqlRuntimeException(SqlKind.DELETE, e);
  		}
  	}
docs: {@inheritDoc}
  
  @see jp.co.future.uroborosql.SqlAgent#delete(java.lang.Class)