code: public void copyAppend(Pail p, CopyArgs args) throws IOException {
          args = new CopyArgs(args);
          if(args.renameMode==null) args.renameMode = RenameMode.ALWAYS_RENAME;
  
          boolean formatsSame = checkCombineValidity(p, args);
          String sourceQual = getQualifiedRoot(p);
          String destQual = getQualifiedRoot(this);
          if(formatsSame) {
              BalancedDistcp.distcp(sourceQual, destQual, args.renameMode, new PailPathLister(args.copyMetadata), EXTENSION, args.configuration);
          } else {
              Coercer.coerce(sourceQual, destQual, args.renameMode, new PailPathLister(args.copyMetadata), p.getFormat(), getFormat(), EXTENSION, args.configuration);
          }
      }
docs: Copy append will copy all the files from p into this pail. Appending maintains the
  structure that was present in p.