@Override
  public Object copy(Object object) {

    for (Copier copier : COPIERS) {

      try {
        return copier.copy(object);
      } catch (Exception ignore) {
        continue;
      }
    }

    throw new IllegalStateException(
        "Can't copy object of type "
            + object.getClass()
            + ". No copier appeared to be capable of copying it.");
  }
 @Override
 public CopyResponse copy(final CopyRequest request) throws Exception {
   return Copier.copy(request);
 }