package hudson.plugins.copyProjectLink;

import hudson.Extension;
import hudson.model.TransientProjectActionFactory;
import hudson.model.AbstractProject;

import java.util.Collection;
import java.util.Collections;

@Extension
public class CopyProjectActionFactory extends TransientProjectActionFactory{
	
	/**
	 * {@inheritDoc}}
	 */
	@Override
	public Collection<CopyProjectAction> createFor(AbstractProject target){
    return Collections.singleton(new CopyProjectAction(target));
	}

}

package hudson.plugins.copyProjectLink;

import hudson.Extension;
import hudson.model.TransientProjectActionFactory;
import hudson.model.AbstractProject;

import java.util.ArrayList;
import java.util.Collection;

@Extension
public class CopyProjectActionFactory extends TransientProjectActionFactory{
	
	/**
	 * {@inheritDoc}}
	 */
	@Override
	public Collection<CopyProjectAction> createFor(AbstractProject target){
		ArrayList<CopyProjectAction> ta = new ArrayList<CopyProjectAction>();
		ta.add(new CopyProjectAction(target));
		return ta;
	}

}

--- 
+++ 
@@ -4,8 +4,8 @@
 import hudson.model.TransientProjectActionFactory;
 import hudson.model.AbstractProject;
 
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 
 @Extension
 public class CopyProjectActionFactory extends TransientProjectActionFactory{
@@ -15,9 +15,7 @@
 	 */
 	@Override
 	public Collection<CopyProjectAction> createFor(AbstractProject target){
-		ArrayList<CopyProjectAction> ta = new ArrayList<CopyProjectAction>();
-		ta.add(new CopyProjectAction(target));
-		return ta;
+    return Collections.singleton(new CopyProjectAction(target));
 	}
 
 }
Use Collections.singleton to create the Action
