/**
   * {@inheritDoc}
   *
   * @see
   *     org.eclipse.emf.eef.runtime.api.component.IPropertiesEditionComponent#initPart(java.lang.Object,
   *     int, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.resource.ResourceSet)
   */
  public void initPart(
      final Object key, final int kind, final EObject elt, final ResourceSet allResource) {
    this.setInitializing(true);
    if ((this.editingPart != null) && (key == this.partKey)) {
      this.editingPart.setContext(elt, allResource);

      final Task task = (Task) elt;
      final TaskPropertiesEditionPart taskPart = (TaskPropertiesEditionPart) this.editingPart;
      // init values
      if (this.isAccessible(GraalViewsRepository.Task.Properties.description)) {
        taskPart.setDescription(
            EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, task.getDescription()));
      }
      if (this.isAccessible(GraalViewsRepository.Task.Properties.subActivities)) {
        this.subActivitiesSettings =
            new ReferencesTableSettings(task, GraalPackage.eINSTANCE.getActivity_SubActivities());
        taskPart.initSubActivities(this.subActivitiesSettings);
      }
      if (this.isAccessible(GraalViewsRepository.Task.Properties.actors)) {
        this.actorsSettings =
            new ReferencesTableSettings(task, GraalPackage.eINSTANCE.getTask_Actors());
        taskPart.initActors(this.actorsSettings);
      }
      if (this.isAccessible(GraalViewsRepository.Task.Properties.id)) {
        taskPart.setId(
            EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, task.getId()));
      }

      if (this.isAccessible(GraalViewsRepository.Task.Properties.name)) {
        taskPart.setName(
            EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, task.getName()));
      }

      if (this.isAccessible(GraalViewsRepository.Task.Properties.uses)) {
        this.usesSettings =
            new ReferencesTableSettings(task, GraalPackage.eINSTANCE.getTask_Uses());
        taskPart.initUses(this.usesSettings);
      }
      if (this.isAccessible(GraalViewsRepository.Task.Properties.preconditions)) {
        taskPart.setPreconditions(
            EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, task.getPreconditions()));
      }
      if (this.isAccessible(GraalViewsRepository.Task.Properties.postconditions)) {
        taskPart.setPostconditions(
            EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, task.getPostconditions()));
        // init filters
      }

      if (this.isAccessible(GraalViewsRepository.Task.Properties.subActivities)) {
        taskPart.addFilterToSubActivities(
            new ViewerFilter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              @Override
              public boolean select(
                  final Viewer viewer, final Object parentElement, final Object element) {
                return ((element instanceof String) && element.equals(""))
                    || (element instanceof Activity); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for
        // subActivities
        // End of user code
      }
      if (this.isAccessible(GraalViewsRepository.Task.Properties.actors)) {
        taskPart.addFilterToActors(new EObjectFilter(GraalPackage.Literals.ACTOR));
        // Start of user code for additional businessfilters for actors
        // End of user code
      }

      if (this.isAccessible(GraalViewsRepository.Task.Properties.uses)) {
        taskPart.addFilterToUses(new EObjectFilter(GraalPackage.Literals.TASK));
        // Start of user code for additional businessfilters for uses
        // End of user code
      }

      // init values for referenced views

      // init filters for referenced views

    }
    this.setInitializing(false);
  }