docs: @SuppressWarnings({ "rawtypes", "unchecked" })
  	private Object adjustablePartsCloned(Object original) {
  		if (original instanceof NamedList) {
  			NamedList<Object> newObject = new SimpleOrderedMap();
  			NamedList<Object> originalObject = (NamedList<Object>) original;
  			for (int i = 0; i < originalObject.size(); i++) {
  				newObject.add(originalObject.getName(i), adjustablePartsCloned(originalObject.getVal(i)));
  			}
  			return newObject;
  		} else if (original instanceof ArrayList) {
  			ArrayList<Object> newObject = new ArrayList<>();
  			ArrayList<Object> originalObject = (ArrayList<Object>) original;
  			for (int i = 0; i < originalObject.size(); i++) {
  				newObject.add(adjustablePartsCloned(originalObject.get(i)));
  			}
  			return newObject;
  		} else if (original instanceof Integer) {
  			return original;
  		}
  		return original;
  	}