code: @Override
      protected ModelMetadataKey getModelMetadataKey(String keyName){
          ModelMetadataKey key = getMetadataKeyCache().get(keyName);
          if (key == null) {
              getMetadataKeyCache().putIfAbsent(keyName, super.getModelMetadataKey(keyName));
              key = getMetadataKeyCache().get(keyName);
          }
          return key;
      }
docs: Get ModelMetadataKey, which is an object holding a list of service instances that contain the key name in the service metadata.
  
  It will query the cache first. If no match is found in the cache, the metadata key will be added to the cache.
  
  @param keyName
  the metadata key name.
  @return
  the ModelMetadataKey.