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());
  }
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 ( ) ) ; }
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.