public void addDocumentToProcess(IncomingDocument document) {
        if ( this.docsToDepartmentsDispatchingTable != null ) {
            if (0 != this.docsToDepartmentsDispatchingTable.size()) {
                PublicServiceDepartment department = this.docsToDepartmentsDispatchingTable
                        .get(document.getClass().getName());
                if ( department != null ) {
                    department.addDocToProcess(document);
                    document.setCurrentPublicServiceDepartment(department);
                } else
                    throw new IllegalStateException(ExecutionDefaults.DEP_IS_NULL);
            } else
                throw new IllegalStateException(ExecutionDefaults.DEPS_DISPATCHING_TABLE_IS_EMPTY);
        } else
            throw new IllegalStateException(ExecutionDefaults.NO_DEPS_DISPATCHING_TABLE);
    }