code: @Override
      public Map<String, String> getDirectives() {
          Map<String, String> result = _directives.get();
  
          if (result == null) {
              result = new HashMap<String, String>();
              for (Map.Entry<String, String> entry : _rawAttributes.entrySet()) {
                  String key = entry.getKey();
                  if (key.endsWith(":")) {
                      result.put(key.substring(0, key.length() - 1), entry.getValue());
                  }
              }
  
              result = Collections.unmodifiableMap(result);
  
              if (!!!_directives.compareAndSet(null, result)) {
                  result = _directives.get();
              }
          }
  
          return result;
      }
docs: {@inheritDoc}