From 54eb7279298d3c3f5538ab37ebdb5dc218a74369 Mon Sep 17 00:00:00 2001
From: Christian Wulf <chw@informatik.uni-kiel.de>
Date: Tue, 14 Apr 2015 13:02:23 +0200
Subject: [PATCH] minor refactoring

---
 src/main/java/teetime/framework/AbstractStage.java | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java
index 88fbed4f..3050aa60 100644
--- a/src/main/java/teetime/framework/AbstractStage.java
+++ b/src/main/java/teetime/framework/AbstractStage.java
@@ -15,7 +15,7 @@
  */
 package teetime.framework;
 
-import java.lang.reflect.Array;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -130,7 +130,7 @@ public abstract class AbstractStage extends Stage {
 	protected <T> InputPort<T> createInputPort() {
 		final InputPort<T> inputPort = new InputPort<T>(this);
 		// inputPort.setType(portType);
-		inputPorts = addElementToArray(inputPort, inputPorts, InputPort.class);
+		inputPorts = addElementToArray(inputPort, inputPorts);
 		return inputPort;
 	}
 
@@ -142,14 +142,12 @@ public abstract class AbstractStage extends Stage {
 	protected <T> OutputPort<T> createOutputPort() {
 		final OutputPort<T> outputPort = new OutputPort<T>();
 		// outputPort.setType(portType);
-		outputPorts = addElementToArray(outputPort, outputPorts, OutputPort.class);
+		outputPorts = addElementToArray(outputPort, outputPorts);
 		return outputPort;
 	}
 
-	private <T> T[] addElementToArray(final T element, final T[] srcArray, final Class<T> arrayType) {
-		@SuppressWarnings("unchecked")
-		T[] newOutputPorts = (T[]) Array.newInstance(arrayType, srcArray.length + 1);
-		System.arraycopy(srcArray, 0, newOutputPorts, 0, srcArray.length);
+	private <T> T[] addElementToArray(final T element, final T[] srcArray) {
+		T[] newOutputPorts = Arrays.copyOf(srcArray, srcArray.length + 1);
 		newOutputPorts[srcArray.length] = element;
 		return newOutputPorts;
 	}
-- 
GitLab