/**
   * {@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(Object key, int kind, EObject elt, ResourceSet allResource) {
    setInitializing(true);
    if (editingPart != null && key == partKey) {
      editingPart.setContext(elt, allResource);

      final Consistency consistency = (Consistency) elt;
      final ConsistencyPropertiesEditionPart basePart =
          (ConsistencyPropertiesEditionPart) editingPart;
      // init values
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.id))
        basePart.setId(
            EEFConverterUtil.convertToString(SACMPackage.Literals.STRING, consistency.getId()));

      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.timing)) {
        timingSettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Timing());
        basePart.initTiming(timingSettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.custody)) {
        custodySettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Custody());
        basePart.initCustody(custodySettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.provenance)) {
        provenanceSettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Provenance());
        basePart.initProvenance(provenanceSettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.event)) {
        eventSettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Event());
        basePart.initEvent(eventSettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.value)) {
        basePart.initValue(
            EEFUtils.choiceOfValues(consistency, EvidencePackage.eINSTANCE.getConsistency_Value()),
            consistency.getValue());
      }
      // init filters

      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.timing)) {
        basePart.addFilterToTiming(
            new ViewerFilter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              public boolean select(Viewer viewer, Object parentElement, Object element) {
                return (element instanceof String && element.equals(""))
                    || (element instanceof TimingProperty); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for timing
        // End of user code
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.custody)) {
        basePart.addFilterToCustody(
            new ViewerFilter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              public boolean select(Viewer viewer, Object parentElement, Object element) {
                return (element instanceof String && element.equals(""))
                    || (element instanceof CustodyProperty); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for custody
        // End of user code
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.provenance)) {
        basePart.addFilterToProvenance(
            new ViewerFilter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              public boolean select(Viewer viewer, Object parentElement, Object element) {
                return (element instanceof String && element.equals(""))
                    || (element instanceof Provenance); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for provenance
        // End of user code
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.event)) {
        basePart.addFilterToEvent(
            new ViewerFilter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              public boolean select(Viewer viewer, Object parentElement, Object element) {
                return (element instanceof String && element.equals(""))
                    || (element instanceof EvidenceEvent); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for event
        // End of user code
      }

      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }