code: public void copySettings(Account a) {
          this.name = a.name;
          this.desc = a.desc;
          this.url = a.url;
          this.username = a.username;
          this.algorithm = a.algorithm;
          this.hmac = a.hmac;
          this.trim = a.trim;
          this.length = a.length;
          this.characterSet = a.characterSet;
          this.leetType = a.leetType;
          this.leetLevel = a.leetLevel;
          this.modifier = a.modifier;
          this.prefix = a.prefix;
          this.suffix = a.suffix;
          this.sha256Bug = a.sha256Bug;
          this.isAFolder = a.isAFolder;
          this.autoPop = a.autoPop;
          this.patterns.clear();
          for (AccountPatternData data : a.getPatterns()) {
              this.patterns.add(new AccountPatternData(data));
          }
          // The documentation says EnumSet.copyOf() will fail on empty sets.
          if (!a.urlComponents.isEmpty())
              this.urlComponents = EnumSet.copyOf(a.urlComponents);
          else
              this.urlComponents = defaultUrlComponents();
      }
docs: Copies the settings (not including children or ID) from another account.
  <p>
  LEAVE THIS FUNCTION HERE so it's easy to see if new members are ever added
  so I don't forget to update it.
  
  @param a The other account to copy from.