code: private static List<Argument> separate(List<RelatedArgument> heads, List<RelatedArgument> tails) {
          List<Argument> merge;
  
          merge = new ArrayList<Argument>();
          for (RelatedArgument head : heads) {
              merge.add(head.arg);
              tails.addAll(head.nexts);
          }
          return merge;
      }
docs: * @param heads  List of RelatedArguments
  * @param tails out-argument, List of RelatedArguments
  * @return List of arguments