code: public Agent newAgent(Agent a) {
  	Agent res = newAgent(a.getId());
  	res.getType().addAll(a.getType());
  	res.getLabel().addAll(a.getLabel());
  	return res;
      }
docs: Creates a copy of an agent. The copy is shallow in the sense that the new Agent shares the same attributes as the original Agent.
  @param a an {@link Agent} to copy
  @return a copy of the input {@link Agent}