private List<String> copyOrMoveObj(ArrayList<String> messageAsArray) {
        FileSystemObj objToCopy = checkPath(messageAsArray.get(0));
        FileSystemObj objToPaste = checkPath(messageAsArray.get(1));
        if((objToCopy == null) || (objToPaste ==  null) || !objToPaste.isFlagingNew()) return answer("Bad path") ;
        if(command == Commands.MOVE) {
            if(FileSystemSingleton.getInstance().checkObjExist(((Folder) objToPaste).folderList , objToCopy.name) != null) return answer("Bad path");
            List<String> ifRemoveAnswer = new ArrayList<>() ;
            ifRemoveAnswer.add("Remove " + objToCopy.name);
            command = (objToCopy.isFile())? Commands.DEL : Commands.DELTREE;
            if (!removeObj(messageAsArray).equals(ifRemoveAnswer)) return answer("Cant move this");
        }
        if (!objToCopy.isFlagingNew() && !objToCopy.isFlagingFile()) return answer("Bad path");
        messageAsArray.remove(0);
        copyObj(messageAsArray, objToCopy);
        return answerWithFileSystemChanges("Copy " + objToCopy.name + " to " + objToPaste.name);
    }