private static String getCharset(Procedure procedure) {
    String charset = null;

    try {
      // try new way first
      ModelObjectExtensionAssistant assistant =
          (ModelObjectExtensionAssistant)
              ExtensionPlugin.getInstance()
                  .getRegistry()
                  .getModelExtensionAssistant(NAMESPACE_PROVIDER.getNamespacePrefix());
      charset =
          assistant.getPropertyValue(procedure, RestModelExtensionConstants.PropertyIds.CHARSET);

      if (CoreStringUtil.isEmpty(charset)) {
        charset =
            (String)
                ANNOTATION_HELPER.getPropertyValueAnyCase(
                    procedure,
                    ModelObjectAnnotationHelper.EXTENDED_PROPERTY_NAMESPACE
                        + "CHARSET"); //$NON-NLS-1$
      }
    } catch (Exception e) {
      UTIL.log(e);
    }

    return charset;
  }
  private static String getHeaders(Procedure procedure) {
    Object headers = null;

    try {
      // try new way first
      ModelObjectExtensionAssistant assistant =
          (ModelObjectExtensionAssistant)
              ExtensionPlugin.getInstance()
                  .getRegistry()
                  .getModelExtensionAssistant(NAMESPACE_PROVIDER.getNamespacePrefix());
      headers =
          assistant.getPropertyValue(procedure, RestModelExtensionConstants.PropertyIds.HEADERS);

      if (headers == null || CoreStringUtil.isEmpty((String) headers)) {
        headers =
            ANNOTATION_HELPER.getPropertyValueAnyCase(
                procedure,
                ModelObjectAnnotationHelper.EXTENDED_PROPERTY_NAMESPACE + "headers"); // $NON-NLS-1$
      }
    } catch (Exception e) {
      UTIL.log(e);
    }

    return headers == null ? StringUtilities.EMPTY_STRING : (String) headers;
  }