code: @Override
      public  String generateRemoteFilepathForNode(
              final INodeEntry node,
              final IRundeckProject project,
              final IFramework framework,
              final String scriptfileName,
              final String fileExtension,
              final String identity
      )
      {
          String tempfilename = String.format(
                  "%d-%s-%s-%s",
                  counter.getAndIncrement(),
                  identity != null ? identity : RandomStringUtils.randomAlphanumeric(10),
                  node.getNodename(),
                  scriptfileName
          );
  
          String extension = fileExtension;
          if (null == extension) {
              //determine based on node
              extension = defaultRemoteFileExtensionForNode(node);
          }
          final String remoteFilename = appendRemoteFileExtension(
                  cleanFileName(tempfilename),
                  null != extension ? cleanFileName(extension) : null
          );
          final String remotedir = getRemoteDirForNode(node, project, framework);
  
          return remotedir + remoteFilename;
      }
docs: Return a temporary filepath for a file to be copied to the node, given the input filename (without directory
  path)
  
  @param node           the destination node
  @param project        project
  @param framework      framework
  @param scriptfileName the name of the file to copy
  @param fileExtension  optional extension to use for the temp file, or null for default
  @param identity       unique identifier, or null to include a random string
  
  @return a filepath specifying destination of the file to copy that should be unique