Bug 514807 - Avoid instantiation of empty array for processing steps

Change-Id: Ie1a3b45efc2ce33b871db4476c4b86e7ab74f3a4
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
index ff7e45f..334119a 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
@@ -46,6 +46,7 @@
 
 	private final IProvisioningAgent agent;
 	private Location lockLocation = null;
+	static final IProcessingStepDescriptor[] EMPTY_STEPS = new ProcessingStepDescriptor[0];
 
 	public SimpleArtifactRepositoryIO(IProvisioningAgent agent) {
 		this.agent = agent;
@@ -535,7 +536,7 @@
 					properties = (repositoryPropertiesHandler == null ? new OrderedProperties(0) : repositoryPropertiesHandler.getProperties());
 					currentArtifact.addRepositoryProperties(properties);
 
-					IProcessingStepDescriptor[] processingSteps = (processingStepsHandler == null ? new ProcessingStepDescriptor[0] //
+					IProcessingStepDescriptor[] processingSteps = (processingStepsHandler == null ? EMPTY_STEPS //
 							: processingStepsHandler.getProcessingSteps());
 					currentArtifact.setProcessingSteps(processingSteps);
 					artifacts.add(currentArtifact);
@@ -554,7 +555,7 @@
 			}
 
 			public IProcessingStepDescriptor[] getProcessingSteps() {
-				return processingSteps.toArray(new ProcessingStepDescriptor[processingSteps.size()]);
+				return processingSteps.isEmpty() ? EMPTY_STEPS : processingSteps.toArray(new ProcessingStepDescriptor[processingSteps.size()]);
 			}
 
 			public void startElement(String name, Attributes attributes) {