code: public <T extends ConfigurationContainer> T getConfiguration(Class<T> type) {
          if (!configurations.containsKey(type)) {
              configurations.put(type, createConfiguration(type));
          }
  
          return (T) configurations.get(type);
      }
docs: Return an instance of the passed AbstractConfigurationContainer type.
  The same instance is returned from every call to getConfiguration()