code: MessageResource loadResource(final Locale locale) {
  
          if(locale == null) {
              return defaultResource;
          }
  
          if(resources.containsKey(locale)) {
              return resources.get(locale);
          }
  
          MessageResource localeResource = null;
          synchronized (resources) {
              for(String path : getPropertyPath(locale)) {
  
                  try {
                      final Properties props = new Properties();
                      props.load(new InputStreamReader(MessageResolver.class.getResourceAsStream(path), "UTF-8"));
  
                      localeResource = new MessageResource();
  
                      final Enumeration<?> keys = props.propertyNames();
                      while(keys.hasMoreElements()) {
                          String key = (String) keys.nextElement();
                          String value = props.getProperty(key);
                          localeResource.addMessage(key, value);
                      }
  
                      // ユーザのリソースの読み込み
                      if(appendUserResource) {
                          localeResource.addMessage(loadUserResource(path));
                      }
  
                      break;
  
                  } catch(NullPointerException | IOException e) {
                      continue;
                  }
  
              }
  
              if(localeResource == null) {
                  // 該当するリソースが見つからない場合は、デフォルトの値を返す。
                  localeResource = defaultResource;
              }
  
              resources.put(locale, localeResource);
          }
  
          return localeResource;
  
      }
docs: 指定したロケールのリソースを取得する。
  <p>該当するロケールのリソースが存在しない場合は、デフォルトのリソースを返す。
  @param locale ロケールがnullの場合は、デフォルトのリソースを返す。
  @return