code: public void load() throws IOException
      {
          try
          {
              Future<Void> task = loadNB();
              task.get();
          }
          catch (ExecutionException e)
          {
              Throwable t = e.getCause();
  
              if (t instanceof IOException)
              {
                  throw (IOException)t;
              }
  
              throw new IOException(t);
          }
          catch (InterruptedException e)
          {
              throw new IOException("Loading of the properties file \""
                                          + getFile().getAbsolutePath() + "\" was interrupted.");
          }
      }
docs: Load the current values of all properties.<br>
  <br>
  This method will block and wait for the properties to be loaded. See
  {@link #loadNB()} for a non-blocking version.
  
  @throws IOException
  if there is an error while attempting to load the properties