code: public Map<String, Map<String, Object>> getPropertyMetadataAndValuesAsMap() {
          Map<String, Map<String, Object>> configMap = new HashMap<>();
          for (ConfigurationProperty property : this) {
              Map<String, Object> mapValue = new HashMap<>();
              mapValue.put("isSecure", property.isSecure());
              if (property.isSecure()) {
                  mapValue.put(VALUE_KEY, property.getEncryptedValue());
              } else {
                  final String value = property.getConfigurationValue() == null ? null : property.getConfigurationValue().getValue();
                  mapValue.put(VALUE_KEY, value);
              }
              mapValue.put("displayValue", property.getDisplayValue());
              configMap.put(property.getConfigKeyName(), mapValue);
          }
          return configMap;
      }
docs: Used in erb