private void copyTo(File source, File destination) {
    if (destination == null) {
      return;
    }
    try {
      FileUtils.copyDirectory(source, destination, true);
    } catch (IOException e) {
      throw new UncheckedIOException(e);
    }
  }
Specifies conditions under which {@code copyTo} is performed. Default is {@code FAIL}.

@param when the conditions under which {@code copyTo} is performed
@return a reference to this SerializableTemporaryFolder
geode-junit/src/main/java/org/apache/geode/test/junit/rules/serializable/SerializableTemporaryFolder.java