docs: public static DataSource getDataSource(String source) {
  		DataSource ds = dataSources.get(source);
  		if (ds == null){
  			synchronized (dataSourcesStructureLock){
  				ds = dataSources.get(source);
  				if (ds == null){
  					ds = createDataSource(source);
  					if (ds != null){
  						dataSources.put(source, ds);
  					}
  				}
  			}
  		}
  		return ds;
  	}