code: public AgBuffer createReduced(Attribute start) {
          List<Attribute> attrs;
          int i;
          Attribute attr;
          State state;
          AgBuffer reduced;
  
          reduced = new AgBuffer(start);
          attrs = new ArrayList<Attribute>();
          attrs.add(start);
          // size usually grows
          for (i = 0; i < attrs.size(); i++) {
              attr = attrs.get(i);
              state = lookup(attr);
              if (state != null) {
                  reduced.add(state);
                  state.addArgAttrs(attrs);
              }
          }
          return reduced;
      }
docs: Can be used for both down and up transport.
  TODO: creates new CopyLines only, attributes are shared between all
  restrictions. This works as long as the resulting SemanticsBuffer is "cloned with creating
  new attributes" ...