code: @Override
      public void registerData(LoadDataInformation loadDataInformation) {
  
          if (resources.containsKey(loadDataInformation.getResourceId())) {
              throw new IllegalArgumentException("Resource : " + loadDataInformation.getResourceId() + " already registered.");
          }
  
  		LoadableResource resource = new LoadableResourceBuilder()
  				.withCache(CACHE).withLoadDataInformation(loadDataInformation)
  				.build();
          this.resources.put(loadDataInformation.getResourceId(), resource);
  
          if (loadDataInformation.getLoaderListener() != null) {
              this.addLoaderListener(loadDataInformation.getLoaderListener(), loadDataInformation.getResourceId());
          }
  
          if(loadDataInformation.isStartRemote()) {
          	defaultLoaderServiceFacade.loadDataRemote(loadDataInformation.getResourceId(), resources);
          }
          switch (loadDataInformation.getUpdatePolicy()) {
              case NEVER:
                  loadDataLocal(loadDataInformation.getResourceId());
                  break;
              case ONSTARTUP:
                  loadDataAsync(loadDataInformation.getResourceId());
                  break;
              case SCHEDULED:
              	defaultLoaderServiceFacade.scheduledData(resource);
                  break;
              case LAZY:
              default:
                  break;
          }
      }
docs: /*
  (non-Javadoc)
  
  @see
  org.javamoney.moneta.spi.LoaderService#registerData(java.lang.String,
  org.javamoney.moneta.spi.LoaderService.UpdatePolicy, java.util.Map,
  java.net.URL, java.net.URL[])