code: public String getRepository() {
          if (!allowReleases && !allowSnapshots) {
              throw new IllegalStateException(
                  "Does not make sense to disallow both releases and snapshots.");
          }
          // start with a plus to append default repositories from settings.xml and Maven Cental
          // to the list of repositories defined by options
          final StringBuilder url = new StringBuilder("+");
          url.append(this.repositoryUrl);
          if (allowSnapshots) {
              url.append("@snapshots");
          }
          if (!allowReleases) {
              url.append("@noreleases");
          }
          if (id != null) {
              url.append("@id=");
              url.append(id);
          }
          return url.toString();
      }
docs: Returns the full repository url.
  
  @return the full repository as given plus eventual snapshot/release tags (cannot be null or
  empty)
  
  @throws IllegalStateException
  - if both snapshots and releases are not allowed