Source:
<code>protected boolean isFeatureEditable(final String propertyPath) { boolean editable = true; EStructuralFeature feature = getFeature(propertyPath); EObject source = getSource(); if (source instanceof RTPort) { RTPort rtPort = (RTPort) source; UMLRTPort port = UMLRTPort.getInstance(rtPort.getBase_Port()); if (null != port) { UMLRTProtocol protocol = port.getType(); if ((protocol != null) && SystemElementsUtils.isSystemProtocol(protocol.toUML())) { editable = false; } else if (IRealTimeConstants.KIND.equals(propertyPath)) { editable = true; } else if (feature == UMLRealTimePackage.Literals.RT_PORT__IS_NOTIFICATION) { editable = port.isBehavior(); } else if (feature == UMLRealTimePackage.Literals.RT_PORT__IS_WIRED) { editable = !port.isInherited(); editable = editable && port.isBehavior() && !port.isConnected() && !RTPortUtils.isLegacySpp(port.toUML()) && !RTPortUtils.isLegacySap(port.toUML()); } else if (feature == UMLRealTimePackage.Literals.RT_PORT__IS_PUBLISH) { editable = false; } else if (feature == UMLRealTimePackage.Literals.RT_PORT__REGISTRATION) { editable = !rtPort.isWired() && !port.isInherited(); } else if (feature == UMLRealTimePackage.Literals.RT_PORT__REGISTRATION_OVERRIDE) { editable = !rtPort.isWired() && !port.isInherited(); } else { editable = super.isFeatureEditable(propertyPath); } } } else if (source instanceof CapsulePart) { UMLRTCapsulePart capsulePart = UMLRTCapsulePart.getInstance(((CapsulePart) source).getBase_Property()); editable = capsulePart != null; if (editable && IRealTimeConstants.KIND.equals(propertyPath)) { editable = <START> !"*".equals(capsulePart.getReplicationFactorAsString()); <END> } } else { editable = super.isFeatureEditable(propertyPath); } return editable; }</code><technical_language>this is a constant in Papyrus-RT? in of properties framework model-element things</technical_language>

Target:
protected boolean isFeatureEditable(final String propertyPath) { boolean editable = true; EStructuralFeature feature = getFeature(propertyPath); EObject source = getSource(); if (source instanceof RTPort) { RTPort rtPort = (RTPort) source; UMLRTPort port = UMLRTPort.getInstance(rtPort.getBase_Port()); if (null != port) { UMLRTProtocol protocol = port.getType(); if ((protocol != null) && SystemElementsUtils.isSystemProtocol(protocol.toUML())) { editable = false; } else if (IRealTimeConstants.KIND.equals(propertyPath)) { editable = true; } else if (feature == UMLRealTimePackage.Literals.RT_PORT__IS_NOTIFICATION) { editable = port.isBehavior(); } else if (feature == UMLRealTimePackage.Literals.RT_PORT__IS_WIRED) { editable = !port.isInherited(); editable = editable && port.isBehavior() && !port.isConnected() && !RTPortUtils.isLegacySpp(port.toUML()) && !RTPortUtils.isLegacySap(port.toUML()); } else if (feature == UMLRealTimePackage.Literals.RT_PORT__IS_PUBLISH) { editable = false; } else if (feature == UMLRealTimePackage.Literals.RT_PORT__REGISTRATION) { editable = !rtPort.isWired() && !port.isInherited(); } else if (feature == UMLRealTimePackage.Literals.RT_PORT__REGISTRATION_OVERRIDE) { editable = !rtPort.isWired() && !port.isInherited(); } else { editable = super.isFeatureEditable(propertyPath); } } } else if (source instanceof CapsulePart) { editable = true; } else { editable = super.isFeatureEditable(propertyPath); } return editable; }