code: public static void checkBeforeCopy(final Item src, final ItemGroup parent) throws Failure {
          for (ItemListener l : all()) {
              try {
                  l.onCheckCopy(src, parent);
              } catch (Failure e) {
                  throw e;
              } catch (RuntimeException x) {
                  LOGGER.log(Level.WARNING, "failed to send event to listener of " + l.getClass(), x);
              }
          }
      }
docs: Call before a job is copied into a new parent, to allow the {@link ItemListener} implementations the ability
  to veto the copy operation before it starts.
  
  @param src    the item being copied
  @param parent the proposed parent
  @throws Failure if the copy operation has been vetoed.
  @since 2.51