code: public static TableSawQuandlSession create() {
      try {
        String authToken = System.getProperty(QUANDL_AUTH_TOKEN_PROPERTY_NAME);
        if (authToken != null) {
          return new TableSawQuandlSession(
              SessionOptions.Builder.withAuthToken(authToken).build(), 
              new JSONTableSawRESTDataProvider(), 
              new ClassicMetaDataPackager());
        }
      } catch (SecurityException se) {
        LOGGER.debug("Error accessing system property " + QUANDL_AUTH_TOKEN_PROPERTY_NAME + ", falling back to not using an auth token",
            se);
      }
      return new TableSawQuandlSession(SessionOptions.Builder.withoutAuthToken().build(), 
          new JSONTableSawRESTDataProvider(), new ClassicMetaDataPackager());
    }
docs: Create a Quandl session without an authorization token (authToken). An attempt will be made to read the java property
  <em>quandl.auth.token</em> and use that if available. Any resulting SecurityException is logged at debug level, otherwise it is ignored
  and no auth token is used. Using a token means you can make more requests. Note creating this object does not make any actual API
  requests, the token is used in subsequent requests.
  
  @return an instance of the Quandl session, not null.