cleanup code
* fix performance issue: StringBuilder is not necessary for compile time constants or final references
* fix performance issue: use a pre-defined array size when converting a list to an array
* fix performance issue: copy an array using JVM's pre-defined utility method