code: private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
              throws StorageException, URISyntaxException {
         Utility.assertNotNull("completeUri", completeUri);
  
          if (!completeUri.isAbsolute()) {
              throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
          }
  
          this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
          
          final StorageCredentialsSharedAccessSignature parsedCredentials = 
                  SharedAccessSignatureHelper.parseQuery(completeUri);
  
          if (credentials != null && parsedCredentials != null) {
              throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
          }
  
          try {
              final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
              this.fileServiceClient = new CloudFileClient(PathUtility.getServiceClientBaseAddress(
                      this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
              this.name = PathUtility.getFileNameFromURI(this.storageUri.getPrimaryUri(), usePathStyleUris);
          }
          catch (final URISyntaxException e) {
              throw Utility.generateNewUnexpectedStorageException(e);
          }
  
          final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());
  
          final String[] snapshotIDs = queryParameters.get(Constants.QueryConstants.SHARE_SNAPSHOT);
          if (snapshotIDs != null && snapshotIDs.length > 0) {
              this.getShare().snapshotID = snapshotIDs[0];
          }
      }
docs: Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
  
  @param completeUri
  A {@link StorageUri} object which represents the complete URI.
  @param credentials
  A {@link StorageCredentials} object used to authenticate access.
  @throws StorageException
  If a storage service error occurred.
  @throws URISyntaxException