code: private void declareProperty(ExecutionContextProperty property)
      {
          if (this.properties.containsKey(property.getKey())) {
              throw new PropertyAlreadyExistsException(property.getKey());
          }
  
          this.properties.put(property.getKey(), property);
      }
docs: Declare a property.
  
  @param property The property with configured metadata attributes.
  @throws PropertyAlreadyExistsException if the property alread exists in this execution context.
  @since 4.3M1