Clean up use of internal utilities.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/3bdc0d85
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/3bdc0d85
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/3bdc0d85

Branch: refs/heads/master
Commit: 3bdc0d85a10acfda791dea7a9abb06a901e8ee3f
Parents: 0ccac12
Author: JamesBognar <[email protected]>
Authored: Sat Jun 3 08:01:05 2017 -0400
Committer: JamesBognar <[email protected]>
Committed: Sat Jun 3 08:01:05 2017 -0400

----------------------------------------------------------------------
 .../test/java/org/apache/juneau/TestUtils.java  | 10 +--
 .../juneau/ini/ConfigFileBuilderTest.java       | 24 ++++----
 .../org/apache/juneau/ini/ConfigFileTest.java   | 17 +++---
 .../juneau/json/JsonParserEdgeCasesTest.java    | 18 +++---
 .../juneau/utils/ByteArrayInOutStreamTest.java  |  5 +-
 .../org/apache/juneau/utils/ClassUtilsTest.java | 11 ++--
 .../org/apache/juneau/utils/IOPipeTest.java     |  4 +-
 .../org/apache/juneau/utils/IOUtilsTest.java    |  4 +-
 .../juneau/utils/StringVarResolverTest.java     | 10 +--
 .../java/org/apache/juneau/BeanContext.java     | 32 ++++------
 .../main/java/org/apache/juneau/BeanMeta.java   |  9 +--
 .../org/apache/juneau/BeanPropertyMeta.java     | 29 ++++-----
 .../java/org/apache/juneau/BeanRegistry.java    | 10 +--
 .../java/org/apache/juneau/BeanSession.java     | 10 +--
 .../main/java/org/apache/juneau/ClassMeta.java  | 35 +++++------
 .../org/apache/juneau/CoreObjectBuilder.java    |  8 +--
 .../juneau/InvalidDataConversionException.java  |  9 +--
 .../main/java/org/apache/juneau/ObjectMap.java  |  5 +-
 .../java/org/apache/juneau/PropertyStore.java   | 18 +++---
 .../org/apache/juneau/dto/ResultSetList.java    |  8 ++-
 .../apache/juneau/dto/jsonschema/Sample.java    |  5 +-
 .../apache/juneau/dto/swagger/HeaderInfo.java   |  7 ++-
 .../org/apache/juneau/dto/swagger/Items.java    |  7 ++-
 .../juneau/dto/swagger/ParameterInfo.java       |  9 +--
 .../juneau/dto/swagger/SecurityScheme.java      |  5 +-
 .../juneau/encoders/EncoderGroupBuilder.java    | 26 +++-----
 .../juneau/html/HtmlDocSerializerSession.java   |  4 +-
 .../apache/juneau/html/HtmlParserSession.java   |  8 +--
 .../java/org/apache/juneau/html/HtmlWriter.java |  5 +-
 .../java/org/apache/juneau/http/Accept.java     |  3 +-
 .../org/apache/juneau/http/AcceptCharset.java   |  1 +
 .../java/org/apache/juneau/ini/ConfigFile.java  |  6 +-
 .../apache/juneau/ini/ConfigFileBuilder.java    |  6 +-
 .../org/apache/juneau/ini/ConfigFileImpl.java   |  7 ++-
 .../java/org/apache/juneau/ini/Section.java     |  8 +--
 .../org/apache/juneau/ini/SectionListener.java  |  6 +-
 .../java/org/apache/juneau/ini/XorEncoder.java  | 11 ++--
 .../org/apache/juneau/internal/ClassUtils.java  | 14 +++--
 .../org/apache/juneau/json/JsonClassMeta.java   |  4 +-
 .../java/org/apache/juneau/json/JsonParser.java |  5 +-
 .../juneau/msgpack/MsgPackInputStream.java      |  5 +-
 .../java/org/apache/juneau/parser/Parser.java   |  6 +-
 .../juneau/parser/ParserGroupBuilder.java       | 12 ++--
 .../org/apache/juneau/parser/ParserSession.java | 31 +++++-----
 .../juneau/plaintext/PlainTextParser.java       |  5 +-
 .../juneau/remoteable/RemoteMethodArg.java      |  8 +--
 .../juneau/remoteable/RemoteableMeta.java       |  5 +-
 .../juneau/remoteable/RemoteableMethodMeta.java |  5 +-
 .../serializer/OutputStreamSerializer.java      |  5 +-
 .../apache/juneau/serializer/Serializer.java    |  8 ++-
 .../serializer/SerializerGroupBuilder.java      | 12 ++--
 .../juneau/serializer/SerializerSession.java    | 14 ++---
 .../org/apache/juneau/svl/DefaultingVar.java    |  4 +-
 .../org/apache/juneau/svl/MultipartVar.java     |  4 +-
 .../apache/juneau/svl/VarResolverBuilder.java   | 12 +---
 .../apache/juneau/svl/VarResolverContext.java   | 14 ++---
 .../transform/AnnotationBeanFilterBuilder.java  |  7 ++-
 .../org/apache/juneau/transform/BeanFilter.java |  7 ++-
 .../juneau/transform/BeanFilterBuilder.java     |  4 +-
 .../org/apache/juneau/transform/PojoSwap.java   | 11 ++--
 .../juneau/transforms/ByteArrayBase64Swap.java  |  7 ++-
 .../apache/juneau/transforms/CalendarSwap.java  |  9 +--
 .../org/apache/juneau/transforms/DateSwap.java  |  9 +--
 .../apache/juneau/transforms/ReaderSwap.java    |  5 +-
 .../transforms/XMLGregorianCalendarSwap.java    |  5 +-
 .../java/org/apache/juneau/uon/UonParser.java   |  5 +-
 .../java/org/apache/juneau/uon/UonUtils.java    |  4 +-
 .../juneau/urlencoding/UrlEncodingParser.java   | 11 ++--
 .../urlencoding/UrlEncodingSerializer.java      | 11 ++--
 .../main/java/org/apache/juneau/utils/Args.java |  7 ++-
 .../java/org/apache/juneau/utils/IOPipe.java    | 24 ++++----
 .../org/apache/juneau/utils/ManifestFile.java   |  7 ++-
 .../org/apache/juneau/utils/MessageBundle.java  |  5 +-
 .../org/apache/juneau/utils/MetadataMap.java    |  5 +-
 .../java/org/apache/juneau/utils/PojoQuery.java |  5 +-
 .../org/apache/juneau/utils/ProcBuilder.java    |  9 ++-
 .../org/apache/juneau/xml/XmlClassMeta.java     | 12 ++--
 .../org/apache/juneau/xml/XmlParserSession.java |  4 +-
 .../apache/juneau/xml/XmlSchemaSerializer.java  |  5 +-
 .../apache/juneau/xml/XmlSerializerSession.java |  7 ++-
 .../java/org/apache/juneau/xml/XmlUtils.java    |  4 +-
 .../juneau/examples/rest/SqlQueryResource.java  |  4 +-
 .../rest/TestMultiPartFormPostsTest.java        |  4 +-
 .../apache/juneau/examples/rest/TestUtils.java  |  7 ++-
 .../juneau/microservice/Microservice.java       |  6 +-
 .../juneau/microservice/RestMicroservice.java   | 18 +++---
 .../resources/LogEntryFormatter.java            |  6 +-
 .../microservice/resources/LogsResource.java    |  6 +-
 .../org/apache/juneau/rest/client/RestCall.java | 14 +++--
 .../juneau/rest/client/RestCallException.java   |  9 +--
 .../apache/juneau/rest/client/RestClient.java   | 11 ++--
 .../juneau/rest/client/RestClientBuilder.java   |  4 +-
 .../juneau/rest/client/RestRequestEntity.java   |  7 ++-
 .../org/apache/juneau/rest/client/SSLOpts.java  |  4 +-
 .../apache/juneau/rest/jaxrs/BaseProvider.java  |  6 +-
 .../rest/test/CharsetEncodingsResource.java     |  5 +-
 .../juneau/rest/test/FormDataResource.java      |  5 +-
 .../apache/juneau/rest/test/GroupsResource.java |  5 +-
 .../juneau/rest/test/NoParserInputResource.java |  9 +--
 .../apache/juneau/rest/test/ParamsResource.java |  7 ++-
 .../juneau/rest/test/ParsersResource.java       | 10 +--
 .../juneau/rest/test/AcceptCharsetTest.java     |  4 +-
 .../juneau/rest/test/CharsetEncodingsTest.java  | 16 ++---
 .../org/apache/juneau/rest/test/ConfigTest.java |  4 +-
 .../apache/juneau/rest/test/ContentTest.java    | 13 ++--
 .../org/apache/juneau/rest/test/GzipTest.java   |  4 +-
 .../juneau/rest/test/RequestBeanProxyTest.java  | 15 ++---
 .../apache/juneau/rest/test/RestUtilsTest.java  | 64 ++++++++++----------
 .../java/org/apache/juneau/rest/CallMethod.java | 22 +++----
 .../juneau/rest/ClientVersionMatcher.java       |  4 +-
 .../org/apache/juneau/rest/ReaderResource.java  |  8 ++-
 .../org/apache/juneau/rest/RequestBody.java     | 11 ++--
 .../org/apache/juneau/rest/RequestFormData.java |  4 +-
 .../org/apache/juneau/rest/RequestHeaders.java  |  7 ++-
 .../org/apache/juneau/rest/RequestQuery.java    |  4 +-
 .../org/apache/juneau/rest/RestCallHandler.java |  4 +-
 .../java/org/apache/juneau/rest/RestConfig.java |  6 +-
 .../org/apache/juneau/rest/RestContext.java     | 45 ++++++++------
 .../apache/juneau/rest/RestInfoProvider.java    |  4 +-
 .../org/apache/juneau/rest/RestRequest.java     |  6 +-
 .../juneau/rest/RestResourceResolver.java       |  7 ++-
 .../org/apache/juneau/rest/StreamResource.java  | 10 +--
 .../juneau/rest/response/RedirectHandler.java   |  5 +-
 .../rest/vars/SerializedRequestAttrVar.java     |  5 +-
 124 files changed, 615 insertions(+), 566 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java 
b/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
index c53e3bf..13ff54f 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
@@ -12,6 +12,9 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau;
 
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 import java.lang.reflect.*;
 import java.text.*;
@@ -24,7 +27,6 @@ import javax.xml.transform.dom.*;
 import javax.xml.transform.stream.*;
 import javax.xml.validation.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.transforms.*;
@@ -259,7 +261,7 @@ public class TestUtils {
                if (is == null) {
                        is = new FileInputStream(path);
                }
-               String e = IOUtils.read(is);
+               String e = read(is);
                e = e.replaceAll("\r", "");
                if (path.endsWith(".xml")) {
                        e = e.replaceAll("(?s)\\<\\!\\-\\-(.*)\\-\\-\\>\\s*", 
"");
@@ -281,7 +283,7 @@ public class TestUtils {
 
        public static void debugOut(Object o) {
                try {
-                       
System.err.println(StringUtils.decodeHex(JsonSerializer.DEFAULT_LAX.serialize(o)));
 // NOT DEBUG
+                       
System.err.println(decodeHex(JsonSerializer.DEFAULT_LAX.serialize(o))); // NOT 
DEBUG
                } catch (SerializeException e) {
                        e.printStackTrace();
                }
@@ -442,7 +444,7 @@ public class TestUtils {
                if (o instanceof String)
                        return (String)o;
                if (o instanceof byte[])
-                       return new String((byte[])o, IOUtils.UTF8);
+                       return new String((byte[])o, UTF8);
                return o.toString();
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileBuilderTest.java
 
b/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileBuilderTest.java
index 3d34086..b0d4e2e 100755
--- 
a/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileBuilderTest.java
+++ 
b/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileBuilderTest.java
@@ -14,10 +14,12 @@ package org.apache.juneau.ini;
 
 import static org.apache.juneau.TestUtils.*;
 import static org.junit.Assert.*;
+import static org.apache.juneau.internal.FileUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.svl.*;
 import org.junit.*;
 
@@ -29,14 +31,14 @@ public class ConfigFileBuilderTest {
 
        @BeforeClass
        public static void setup() {
-               tempDir = new File(System.getProperty("java.io.tmpdir"), 
StringUtils.generateUUID(12));
-               FileUtils.mkdirs(tempDir, true);
+               tempDir = new File(System.getProperty("java.io.tmpdir"), 
generateUUID(12));
+               mkdirs(tempDir, true);
                TEMP_DIR = new String[]{tempDir.getAbsolutePath()};
        }
 
        @AfterClass
        public static void teardown() {
-               FileUtils.delete(tempDir);
+               delete(tempDir);
        }
 
        /**
@@ -55,7 +57,7 @@ public class ConfigFileBuilderTest {
                assertTrue(f.exists());
 
                cf.save();
-               assertTextEquals("[Test]|A = a|", IOUtils.read(f));
+               assertTextEquals("[Test]|A = a|", read(f));
 
                cf = b1.build("TestGet.cfg");
                assertObjectEquals("{'default':{},Test:{A:'a'}}", cf);
@@ -64,7 +66,7 @@ public class ConfigFileBuilderTest {
                cf = b1.build(new StringReader(("[Test]"+NL+"A = a"+NL)));
                assertObjectEquals("{'default':{},Test:{A:'a'}}", cf);
 
-               b1.charset(IOUtils.UTF8);
+               b1.charset(UTF8);
                cf = b1.build("TestGet.cfg");
                assertObjectEquals("{'default':{},Test:{A:'a'}}", cf);
        }
@@ -95,8 +97,8 @@ public class ConfigFileBuilderTest {
 
                f = new File(tempDir, "TestGet.cfg");
                String NL = System.getProperty("line.separator");
-               IOUtils.write(f, new StringReader("[Test]"+NL+"A = b"+NL));
-               FileUtils.modifyTimestamp(f);
+               write(f, new StringReader("[Test]"+NL+"A = b"+NL));
+               modifyTimestamp(f);
 
                cf.loadIfModified();
                assertEquals("b", cf.getString("Test/A"));
@@ -178,16 +180,16 @@ public class ConfigFileBuilderTest {
 
                ConfigFileBuilder.main(new String[]{"createBatchEnvFile", 
"-configFile", configFile.getAbsolutePath(), "-envFile", 
envFile.getAbsolutePath()});
                String expected = "rem c1|rem c2|rem c3||set x1 = 1|set x2 = 
true|set x3 = null|rem c4|set s1_k1 = 1|rem c5 foo=bar|set s1_k2 = true|set 
s1_k3 = null|";
-               String actual = IOUtils.read(envFile);
+               String actual = read(envFile);
                assertTextEquals(expected, actual);
 
                ConfigFileBuilder.main(new String[]{"createShellEnvFile", 
"-configFile", configFile.getAbsolutePath(), "-envFile", 
envFile.getAbsolutePath()});
                expected = "# c1|# c2|# c3||export x1=\"1\"|export 
x2=\"true\"|export x3=\"null\"|# c4|export s1_k1=\"1\"|# c5 foo=bar|export 
s1_k2=\"true\"|export s1_k3=\"null\"|";
-               actual = IOUtils.read(envFile);
+               actual = read(envFile);
                assertTextEquals(expected, actual);
 
                ConfigFileBuilder.main(new String[]{"setVals", "-configFile", 
configFile.getAbsolutePath(), "-vals", "x1=2", "s1/k1=2", "s2/k1=3"});
-               FileUtils.modifyTimestamp(configFile);
+               modifyTimestamp(configFile);
                cf.loadIfModified();
                
assertObjectEquals("{'default':{x1:'2',x2:'true',x3:'null'},s1:{k1:'2',k2:'true',k3:'null'},s2:{k1:'3'}}",
 cf);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileTest.java
index c4b77b3..683d2fc 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/ini/ConfigFileTest.java
@@ -14,6 +14,8 @@ package org.apache.juneau.ini;
 
 import static org.apache.juneau.TestUtils.*;
 import static org.junit.Assert.*;
+import static org.apache.juneau.internal.IOUtils.*;
+import static org.apache.juneau.internal.FileUtils.*;
 
 import java.io.*;
 import java.net.*;
@@ -22,7 +24,6 @@ import java.util.concurrent.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.svl.*;
@@ -442,14 +443,14 @@ public class ConfigFileTest {
                assertTrue(cfw.isEncoded("s1/foo"));
                cf.save();
                String expected = "[s1]||foo* = {AwwJVhwUQFZEMg==}|";
-               String actual = IOUtils.read(new FileReader(f));
+               String actual = read(new FileReader(f));
                assertTextEquals(expected, actual);
                cf.load();
                assertEquals("mypassword", cf.getString("s1/foo"));
                assertEquals("mypassword", cfw.getString("s1/foo"));
 
-               IOUtils.write(f, new StringReader("[s1]\nfoo* = 
mypassword2\n"));
-               FileUtils.modifyTimestamp(f);
+               write(f, new StringReader("[s1]\nfoo* = mypassword2\n"));
+               modifyTimestamp(f);
                cf.loadIfModified();
                assertTrue(cf.isEncoded("s1/foo"));
                assertEquals("mypassword2", cf.getString("s1/foo"));
@@ -602,8 +603,8 @@ public class ConfigFileTest {
        @Test
        public void testListeners() throws Exception {
                ConfigFile[] cff = {
-                       
configFileBuilder.build(FileUtils.createTempFile("ConfigFileTest.cfg")).addLines(null,
 "a1=1").addLines("B", "b1=1"),
-                       
configFileBuilder.build(FileUtils.createTempFile("ConfigFileTest.cfg")).addLines(null,
 "a1=1").addLines("B", "b1=1").getResolving(VarResolver.DEFAULT)
+                       
configFileBuilder.build(createTempFile("ConfigFileTest.cfg")).addLines(null, 
"a1=1").addLines("B", "b1=1"),
+                       
configFileBuilder.build(createTempFile("ConfigFileTest.cfg")).addLines(null, 
"a1=1").addLines("B", "b1=1").getResolving(VarResolver.DEFAULT)
                };
 
                for (ConfigFile cf : cff) {
@@ -2123,7 +2124,7 @@ public class ConfigFileTest {
 
                assertTextEquals("a = a,|\tb,|\tc|[A]|a = a,|\tb,|\tc|", cf);
                cf.save();
-               assertTextEquals("a = a,|\tb,|\tc|[A]|a = a,|\tb,|\tc|", 
IOUtils.read(f));
+               assertTextEquals("a = a,|\tb,|\tc|[A]|a = a,|\tb,|\tc|", 
read(f));
 
                cf.load();
                assertEquals("a,\nb,\nc", cf.getString("a"));
@@ -2146,7 +2147,7 @@ public class ConfigFileTest {
 
                assertTextEquals("a = a,\\u0023b,\\u003Dc|[A]|a = 
a,\\u0023b,\\u003Dc|", cf);
                cf.save();
-               assertTextEquals("a = a,\\u0023b,\\u003Dc|[A]|a = 
a,\\u0023b,\\u003Dc|", IOUtils.read(f));
+               assertTextEquals("a = a,\\u0023b,\\u003Dc|[A]|a = 
a,\\u0023b,\\u003Dc|", read(f));
 
                cf.load();
                assertEquals("a,#b,=c", cf.getString("a"));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/json/JsonParserEdgeCasesTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/json/JsonParserEdgeCasesTest.java
 
b/juneau-core-test/src/test/java/org/apache/juneau/json/JsonParserEdgeCasesTest.java
index 0f6316f..b5ab64b 100644
--- 
a/juneau-core-test/src/test/java/org/apache/juneau/json/JsonParserEdgeCasesTest.java
+++ 
b/juneau-core-test/src/test/java/org/apache/juneau/json/JsonParserEdgeCasesTest.java
@@ -12,12 +12,14 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.json;
 
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
+
 import static org.junit.Assert.*;
 
 import java.io.*;
 import java.util.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
 import org.junit.*;
 import org.junit.runner.*;
@@ -30,7 +32,7 @@ public class JsonParserEdgeCasesTest {
        @Parameterized.Parameters
        public static Collection<Object[]> getPairs() {
                return Arrays.asList(new Object[][] {
-                       { 0, "is_structure_500_nested_arrays", 
StringUtils.repeat(500, "[") + StringUtils.repeat(500, "]"), null },
+                       { 0, "is_structure_500_nested_arrays", repeat(500, "[") 
+ repeat(500, "]"), null },
                        { 1, "ix_object_key_lone_2nd_surrogate", 
"7B225C7544464141223A307D"/*{"buDFAA":0}*/, null },
                        { 2, "ix_string_1st_surrogate_but_2nd_missing", 
"5B225C7544414441225D"/*["buDADA"]*/, null },
                        { 3, "ix_string_1st_valid_surrogate_2nd_invalid", 
"5B225C75443838385C7531323334225D"/*["buD888bu1234"]*/, null },
@@ -187,8 +189,8 @@ public class JsonParserEdgeCasesTest {
                        { 154, "n_structure_unclosed_array_unfinished_false", 
"[ true, fals", "Unrecognized syntax" },
                        { 155, "n_structure_unclosed_array_unfinished_true", "[ 
false, tru", "Unrecognized syntax" },
                        { 156, "n_structure_unclosed_object", 
"{\"asd\":\"asd\"", "Could not find '}'" },
-                       { 157, "ns_structure_100000_opening_arrays", 
StringUtils.repeat(100000, "["), "Depth too deep" },
-                       { 158, "ns_structure_open_array_object", 
StringUtils.repeat(50000, "[{\"\":"), "Depth too deep" },
+                       { 157, "ns_structure_100000_opening_arrays", 
repeat(100000, "["), "Depth too deep" },
+                       { 158, "ns_structure_open_array_object", repeat(50000, 
"[{\"\":"), "Depth too deep" },
                        { 159, "nx_array_a_invalid_utf8", 
"5B61E55D"/*[a[fffd]]*/, null },
                        { 160, "nx_array_invalid_utf8", "5BFF5D"/*[[fffd]]*/, 
null },
                        { 161, "nx_array_newlines_unclosed", 
"5B2261222C0A340A2C312C"/*["a",[a]4[a],1,*/, null },
@@ -358,8 +360,8 @@ public class JsonParserEdgeCasesTest {
 
        public JsonParserEdgeCasesTest(Integer testNum, String name, String 
json, String errorText) throws Exception {
                this.name = name;
-               this.json = name.charAt(1) == 'x' ? StringUtils.fromHex(json) : 
json;
-               this.jsonReadable = name.charAt(1) == 'x' ? 
StringUtils.fromHexToUTF8(json) : json;
+               this.json = name.charAt(1) == 'x' ? fromHex(json) : json;
+               this.jsonReadable = name.charAt(1) == 'x' ? fromHexToUTF8(json) 
: json;
                this.expected = name.charAt(0);
                this.errorText = errorText;
        }
@@ -455,9 +457,9 @@ public class JsonParserEdgeCasesTest {
                                String contents = specials.get(n);
                                if (contents == null) {
                                        if (n.charAt(1) == 'x')
-                                               contents = '"' + 
StringUtils.toHex(IOUtils.readBytes(fc)) + '"' + "/*" + 
StringUtils.decodeHex(IOUtils.read(fc)).replaceAll("\\\\u", "bu") + "*/";
+                                               contents = '"' + 
toHex(readBytes(fc)) + '"' + "/*" + decodeHex(read(fc)).replaceAll("\\\\u", 
"bu") + "*/";
                                        else
-                                               contents = '"' + 
IOUtils.read(fc).replaceAll("\"", "\\\\\"").trim() + '"';
+                                               contents = '"' + 
read(fc).replaceAll("\"", "\\\\\"").trim() + '"';
                                }
                                String errorText = errors.get(n);
                                if (errorText != null)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/utils/ByteArrayInOutStreamTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/ByteArrayInOutStreamTest.java
 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/ByteArrayInOutStreamTest.java
index 0a72c16..bd82240 100755
--- 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/ByteArrayInOutStreamTest.java
+++ 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/ByteArrayInOutStreamTest.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.utils;
 
 import static org.junit.Assert.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 import java.io.*;
 
@@ -27,9 +28,9 @@ public class ByteArrayInOutStreamTest {
        
//====================================================================================================
        @Test
        public void testBasic() throws Exception {
-               InputStream is = new 
ByteArrayInputStream("foobar".getBytes(IOUtils.UTF8));
+               InputStream is = new 
ByteArrayInputStream("foobar".getBytes(UTF8));
                ByteArrayInOutStream baios = new ByteArrayInOutStream();
                IOPipe.create(is, baios).run();
-               assertEquals("foobar", IOUtils.read(baios.getInputStream()));
+               assertEquals("foobar", read(baios.getInputStream()));
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java
index 8b5ad42..c333fa7 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java
@@ -19,7 +19,6 @@ import static org.junit.Assert.*;
 
 import java.lang.annotation.*;
 
-import org.apache.juneau.internal.*;
 import org.junit.*;
 
 @SuppressWarnings("javadoc")
@@ -159,11 +158,11 @@ public class ClassUtilsTest {
        // getMethodAnnotation
        
//====================================================================================================
        @Test
-       public void getMethodAnnotation() throws Exception {
-               assertEquals("a1", 
ClassUtils.getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a1")).value());
-               assertEquals("a2b", 
ClassUtils.getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a2")).value());
-               assertEquals("a3", 
ClassUtils.getMethodAnnotation(TestAnnotation.class, CI3.class.getMethod("a3", 
CharSequence.class)).value());
-               assertEquals("a4", 
ClassUtils.getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a4")).value());
+       public void getMethodAnnotations() throws Exception {
+               assertEquals("a1", getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a1")).value());
+               assertEquals("a2b", getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a2")).value());
+               assertEquals("a3", getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a3", CharSequence.class)).value());
+               assertEquals("a4", getMethodAnnotation(TestAnnotation.class, 
CI3.class.getMethod("a4")).value());
        }
        
        public static interface CI1 {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/utils/IOPipeTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/IOPipeTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/IOPipeTest.java
index 7399ca2..de82158 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/utils/IOPipeTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/utils/IOPipeTest.java
@@ -13,10 +13,10 @@
 package org.apache.juneau.utils;
 
 import static org.junit.Assert.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.utils.IOPipe.*;
 import org.junit.*;
 
@@ -186,7 +186,7 @@ public class IOPipeTest {
 
                @Override /* Object */
                public String toString() {
-                       return new String(this.toByteArray(), IOUtils.UTF8);
+                       return new String(this.toByteArray(), UTF8);
                }
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/utils/IOUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/IOUtilsTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/IOUtilsTest.java
index 0e63e18..11477af 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/utils/IOUtilsTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/utils/IOUtilsTest.java
@@ -13,10 +13,10 @@
 package org.apache.juneau.utils;
 
 import static org.junit.Assert.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.junit.*;
 
 @SuppressWarnings("javadoc")
@@ -98,7 +98,7 @@ public class IOUtilsTest {
 
                @Override /* Object */
                public String toString() {
-                       return new String(this.toByteArray(), IOUtils.UTF8);
+                       return new String(this.toByteArray(), UTF8);
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core-test/src/test/java/org/apache/juneau/utils/StringVarResolverTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/StringVarResolverTest.java
 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/StringVarResolverTest.java
index 122dbd6..14d9ed5 100755
--- 
a/juneau-core-test/src/test/java/org/apache/juneau/utils/StringVarResolverTest.java
+++ 
b/juneau-core-test/src/test/java/org/apache/juneau/utils/StringVarResolverTest.java
@@ -13,8 +13,8 @@
 package org.apache.juneau.utils;
 
 import static org.junit.Assert.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.svl.*;
 import org.junit.*;
 
@@ -183,7 +183,7 @@ public class StringVarResolverTest {
                String t;
 
                t = "$E{PATH}";
-               
assertFalse(StringUtils.isEmpty(VarResolver.DEFAULT.resolve(t)));
+               assertFalse(isEmpty(VarResolver.DEFAULT.resolve(t)));
        }
 
        
//====================================================================================================
@@ -208,7 +208,7 @@ public class StringVarResolverTest {
                }
                @Override /* MultipartVar */
                public String resolve(VarResolverSession session, String[] 
args) {
-                       return StringUtils.join(args, '+');
+                       return join(args, '+');
                }
        }
 
@@ -225,8 +225,8 @@ public class StringVarResolverTest {
                        try {
                                vrb.vars(c);
                                fail();
-                       } catch (IllegalArgumentException e) {
-                               assertEquals("Invalid var name.  Must consist 
of only uppercase and lowercase ASCII letters.", e.getLocalizedMessage());
+                       } catch (RuntimeException e) {
+                               // OK.
                        }
                }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
index 69fd415..b4d07f9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
@@ -877,30 +877,22 @@ public class BeanContext extends Context {
                notBeanPackagePrefixes = l2.toArray(new String[l2.size()]);
 
                LinkedList<BeanFilter> lbf = new LinkedList<BeanFilter>();
-               try {
-                       for (Class<?> c : pm.get(BEAN_beanFilters, 
Class[].class, new Class[0])) {
-                               if (isParentClass(BeanFilter.class, c))
-                                       lbf.add((BeanFilter)c.newInstance());
-                               else if (isParentClass(BeanFilterBuilder.class, 
c))
-                                       
lbf.add(((BeanFilterBuilder)c.newInstance()).build());
-                               else
-                                       lbf.add(new 
InterfaceBeanFilterBuilder(c).build());
-                       }
-               } catch (Exception e) {
-                       throw new RuntimeException(e);
+               for (Class<?> c : pm.get(BEAN_beanFilters, Class[].class, new 
Class[0])) {
+                       if (isParentClass(BeanFilter.class, c))
+                               lbf.add(newInstance(BeanFilter.class, c));
+                       else if (isParentClass(BeanFilterBuilder.class, c))
+                               lbf.add(newInstance(BeanFilterBuilder.class, 
c).build());
+                       else
+                               lbf.add(new 
InterfaceBeanFilterBuilder(c).build());
                }
                beanFilters = lbf.toArray(new BeanFilter[0]);
 
                LinkedList<PojoSwap<?,?>> lpf = new LinkedList<PojoSwap<?,?>>();
-               try {
-                       for (Class<?> c : pm.get(BEAN_pojoSwaps, Class[].class, 
new Class[0])) {
-                               if (isParentClass(PojoSwap.class, c))
-                                       lpf.add((PojoSwap<?,?>)c.newInstance());
-                               else
-                                       
lpf.addAll(SurrogateSwap.findPojoSwaps(c));
-                       }
-               } catch (Exception e) {
-                       throw new RuntimeException(e);
+               for (Class<?> c : pm.get(BEAN_pojoSwaps, Class[].class, new 
Class[0])) {
+                       if (isParentClass(PojoSwap.class, c))
+                               lpf.add(newInstance(PojoSwap.class, c));
+                       else
+                               lpf.addAll(SurrogateSwap.findPojoSwaps(c));
                }
                pojoSwaps = lpf.toArray(new PojoSwap[0]);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
index be80772..bcbf705 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
@@ -14,6 +14,8 @@ package org.apache.juneau;
 
 import static org.apache.juneau.Visibility.*;
 import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.ReflectionUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.beans.*;
 import java.io.*;
@@ -21,7 +23,6 @@ import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.transform.*;
 import org.apache.juneau.utils.*;
 
@@ -174,7 +175,7 @@ public class BeanMeta<T> {
                                }
                                this.beanRegistry = new BeanRegistry(ctx, null, 
bdClasses.toArray(new Class<?>[bdClasses.size()]));
 
-                               for (Bean b : 
ReflectionUtils.findAnnotationsParentFirst(Bean.class, classMeta.innerClass))
+                               for (Bean b : 
findAnnotationsParentFirst(Bean.class, classMeta.innerClass))
                                        if (! b.typePropertyName().isEmpty())
                                                typePropertyName = 
b.typePropertyName();
                                if (typePropertyName == null)
@@ -210,7 +211,7 @@ public class BeanMeta<T> {
                                                if (constructor != null)
                                                        throw new 
BeanRuntimeException(c, "Multiple instances of '@BeanConstructor' found.");
                                                constructor = (Constructor<T>)x;
-                                               constructorArgs = 
StringUtils.split(x.getAnnotation(BeanConstructor.class).properties(), ',');
+                                               constructorArgs = 
split(x.getAnnotation(BeanConstructor.class).properties(), ',');
                                                if (constructorArgs.length != 
x.getParameterTypes().length)
                                                        throw new 
BeanRuntimeException(c, "Number of properties defined in '@BeanConstructor' 
annotation does not match number of parameters in constructor.");
                                                if (! 
setAccessible(constructor))
@@ -394,7 +395,7 @@ public class BeanMeta<T> {
                        } catch (BeanRuntimeException e) {
                                throw e;
                        } catch (Exception e) {
-                               return "Exception:  " + 
StringUtils.getStackTrace(e);
+                               return "Exception:  " + getStackTrace(e);
                        }
 
                        return null;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index e520799..c8af40e 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -16,6 +16,8 @@ import static org.apache.juneau.Visibility.*;
 import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.ReflectionUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.ArrayUtils.*;
 
 import java.lang.annotation.*;
 import java.lang.reflect.*;
@@ -126,7 +128,7 @@ public class BeanPropertyMeta {
                                if (p != null) {
                                        swap = getPropertyPojoSwap(p);
                                        if (! p.properties().isEmpty())
-                                               properties = 
StringUtils.split(p.properties(), ',');
+                                               properties = 
split(p.properties(), ',');
                                        
bdClasses.addAll(Arrays.asList(p.beanDictionary()));
                                }
                        }
@@ -140,7 +142,7 @@ public class BeanPropertyMeta {
                                        if (swap == null)
                                                swap = getPropertyPojoSwap(p);
                                        if (properties != null && ! 
p.properties().isEmpty())
-                                               properties = 
StringUtils.split(p.properties(), ',');
+                                               properties = 
split(p.properties(), ',');
                                        
bdClasses.addAll(Arrays.asList(p.beanDictionary()));
                                }
                        }
@@ -154,7 +156,7 @@ public class BeanPropertyMeta {
                                        if (swap == null)
                                                swap = getPropertyPojoSwap(p);
                                        if (properties != null && ! 
p.properties().isEmpty())
-                                               properties = 
StringUtils.split(p.properties(), ',');
+                                               properties = 
split(p.properties(), ',');
                                        
bdClasses.addAll(Arrays.asList(p.beanDictionary()));
                                }
                        }
@@ -219,18 +221,13 @@ public class BeanPropertyMeta {
                        return new BeanPropertyMeta(this);
                }
 
-               private PojoSwap getPropertyPojoSwap(BeanProperty p) throws 
Exception {
+               private static PojoSwap getPropertyPojoSwap(BeanProperty p) 
throws Exception {
                        Class<?> c = p.swap();
                        if (c == Null.class)
                                return null;
-                       try {
-                               if (isParentClass(PojoSwap.class, c)) {
-                                       return (PojoSwap)c.newInstance();
-                               }
-                               throw new RuntimeException("TODO - Surrogate 
swaps not yet supported.");
-                       } catch (Exception e) {
-                               throw new BeanRuntimeException(this.beanMeta.c, 
"Could not instantiate PojoSwap ''{0}'' for bean property ''{1}''", 
c.getName(), this.name).initCause(e);
-                       }
+                       if (isParentClass(PojoSwap.class, c))
+                               return newInstance(PojoSwap.class, c);
+                       throw new RuntimeException("TODO - Surrogate swaps not 
yet supported.");
                }
 
                BeanPropertyMeta.Builder setGetter(Method getter) {
@@ -548,7 +545,7 @@ public class BeanPropertyMeta {
                                                }
                                        } else {
                                                if (propMap == null) {
-                                                       propMap = 
(Map)propertyClass.newInstance();
+                                                       propMap = 
newInstance(Map.class, propertyClass);
                                                        invokeSetter(bean, 
pName, propMap);
                                                } else {
                                                        propMap.clear();
@@ -603,7 +600,7 @@ public class BeanPropertyMeta {
                                                propList.clear();
                                        } else {
                                                if (propList == null) {
-                                                       propList = 
(Collection)propertyClass.newInstance();
+                                                       propList = 
newInstance(Collection.class, propertyClass);
                                                        invokeSetter(bean, 
pName, propList);
                                                } else {
                                                        propList.clear();
@@ -717,7 +714,7 @@ public class BeanPropertyMeta {
         * @throws InvocationTargetException Thrown by method invocation.
         */
        protected void setArray(Object bean, List l) throws 
IllegalArgumentException, IllegalAccessException, InvocationTargetException {
-               Object array = ArrayUtils.toArray(l, 
this.rawTypeMeta.getElementType().getInnerClass());
+               Object array = toArray(l, 
this.rawTypeMeta.getElementType().getInnerClass());
                invokeSetter(bean, name, array);
        }
 
@@ -785,7 +782,7 @@ public class BeanPropertyMeta {
 
                                        // Copy any existing array values into 
the temporary list.
                                        Object oldArray = invokeGetter(bean, 
pName);
-                                       ArrayUtils.copyToList(oldArray, l);
+                                       copyToList(oldArray, l);
                                }
 
                                // Add new entry to our array.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/BeanRegistry.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanRegistry.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanRegistry.java
index f966565..c644ec0 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanRegistry.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanRegistry.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+
 import java.lang.reflect.*;
 import java.util.*;
 import java.util.concurrent.*;
@@ -57,17 +59,17 @@ public class BeanRegistry {
        private void addClass(Class<?> c) {
                try {
                        if (c != null) {
-                               if (ClassUtils.isParentClass(Collection.class, 
c)) {
+                               if (isParentClass(Collection.class, c)) {
                                        @SuppressWarnings("rawtypes")
-                                       Collection cc = 
(Collection)c.newInstance();
+                                       Collection cc = 
newInstance(Collection.class, c);
                                        for (Object o : cc) {
                                                if (o instanceof Class)
                                                        addClass((Class<?>)o);
                                                else
                                                        throw new 
BeanRuntimeException("Collection class ''{0}'' passed to BeanRegistry does not 
contain Class objects.", c.getName());
                                        }
-                               } else if (ClassUtils.isParentClass(Map.class, 
c)) {
-                                       Map<?,?> m = (Map<?,?>)c.newInstance();
+                               } else if (isParentClass(Map.class, c)) {
+                                       Map<?,?> m = newInstance(Map.class, c);
                                        for (Map.Entry<?,?> e : m.entrySet()) {
                                                String typeName = 
StringUtils.toString(e.getKey());
                                                Object v = e.getValue();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
index 1a2baca..81557dc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
@@ -15,13 +15,13 @@ package org.apache.juneau;
 import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.lang.reflect.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import org.apache.juneau.http.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
@@ -482,7 +482,7 @@ public class BeanSession extends Session {
                                        return (T)toArray(type, 
(Collection)value);
                                else if (vt.isArray())
                                        return (T)toArray(type, 
Arrays.asList((Object[])value));
-                               else if 
(StringUtils.startsWith(value.toString(), '['))
+                               else if (startsWith(value.toString(), '['))
                                        return (T)toArray(type, new 
ObjectList(value.toString()).setBeanSession(this));
                        }
 
@@ -550,7 +550,7 @@ public class BeanSession extends Session {
                                        if (JsonSerializer.DEFAULT_LAX != null)
                                                return 
(T)JsonSerializer.DEFAULT_LAX.serialize(value);
                                } else if (vt.isClass()) {
-                                       return 
(T)ClassUtils.getReadableClassName((Class<?>)value);
+                                       return 
(T)getReadableClassName((Class<?>)value);
                                }
                                return (T)value.toString();
                        }
@@ -584,7 +584,7 @@ public class BeanSession extends Session {
                                        String typeName = 
m2.getString(getBeanTypePropertyName(type));
                                        if (typeName != null) {
                                                ClassMeta cm = 
type.getBeanRegistry().getClassMeta(typeName);
-                                               if (cm != null && 
ClassUtils.isParentClass(type.innerClass, cm.innerClass))
+                                               if (cm != null && 
isParentClass(type.innerClass, cm.innerClass))
                                                        return (T)m2.cast(cm);
                                        }
                                }
@@ -1030,7 +1030,7 @@ public class BeanSession extends Session {
        public boolean close() throws BeanRuntimeException {
                if (super.close()) {
                        if (debug && hasWarnings())
-                               throw new BeanRuntimeException("Warnings 
occurred in session: \n" + StringUtils.join(getWarnings(), "\n"));
+                               throw new BeanRuntimeException("Warnings 
occurred in session: \n" + join(getWarnings(), "\n"));
                        return true;
                }
                return false;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
index e560080..8313709 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
@@ -14,6 +14,7 @@ package org.apache.juneau;
 
 import static org.apache.juneau.ClassMeta.ClassCategory.*;
 import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.ReflectionUtils.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -501,7 +502,7 @@ public final class ClassMeta<T> implements Type {
                                                        swapConstructor = cs;
                                                else if (cc != NUMBER && 
(Number.class.isAssignableFrom(arg) || (arg.isPrimitive() && (arg == int.class 
|| arg == short.class || arg == long.class || arg == float.class || arg == 
double.class)))) {
                                                        numberConstructor = cs;
-                                                       numberConstructorType = 
ClassUtils.getWrapperIfPrimitive(arg);
+                                                       numberConstructorType = 
getWrapperIfPrimitive(arg);
                                                }
                                        }
                                }
@@ -545,9 +546,9 @@ public final class ClassMeta<T> implements Type {
 
                        for (Method m : c.getMethods())
                                if (isPublic(m) && isNotDeprecated(m))
-                                       
publicMethods.put(ClassUtils.getMethodSignature(m), m);
+                                       
publicMethods.put(getMethodSignature(m), m);
 
-                       Map<Class<?>,Remoteable> remoteableMap = 
ReflectionUtils.findAnnotationsMap(Remoteable.class, c);
+                       Map<Class<?>,Remoteable> remoteableMap = 
findAnnotationsMap(Remoteable.class, c);
                        if (! remoteableMap.isEmpty()) {
                                Map.Entry<Class<?>,Remoteable> e = 
remoteableMap.entrySet().iterator().next();  // Grab the first one.
                                Class<?> ic = e.getKey();
@@ -558,7 +559,7 @@ public final class ClassMeta<T> implements Type {
                                        if (isPublic(m)) {
                                                RemoteMethod rm = 
m.getAnnotation(RemoteMethod.class);
                                                if (rm != null || ! 
"ANNOTATED".equals(expose)) {
-                                                       String path = 
"NAME".equals(methodPaths) ? m.getName() : ClassUtils.getMethodSignature(m);
+                                                       String path = 
"NAME".equals(methodPaths) ? m.getName() : getMethodSignature(m);
                                                        
remoteableMethods.put(path, m);
                                                }
                                        }
@@ -677,7 +678,7 @@ public final class ClassMeta<T> implements Type {
 
                private BeanFilter findBeanFilter() {
                        try {
-                               Map<Class<?>,Bean> ba = 
ReflectionUtils.findAnnotationsMap(Bean.class, innerClass);
+                               Map<Class<?>,Bean> ba = 
findAnnotationsMap(Bean.class, innerClass);
                                if (! ba.isEmpty())
                                        return new 
AnnotationBeanFilterBuilder(innerClass, ba).build();
                        } catch (Exception e) {
@@ -687,20 +688,16 @@ public final class ClassMeta<T> implements Type {
                }
 
                private PojoSwap<T,?> findPojoSwap() {
-                       try {
-                               Pojo p = innerClass.getAnnotation(Pojo.class);
-                               if (p != null) {
-                                       Class<?> c = p.swap();
-                                       if (c != Null.class) {
-                                               if 
(ClassUtils.isParentClass(PojoSwap.class, c))
-                                                       return 
(PojoSwap<T,?>)c.newInstance();
-                                               throw new 
RuntimeException("TODO - Surrogate classes not yet supported.");
-                                       }
+                       Pojo p = innerClass.getAnnotation(Pojo.class);
+                       if (p != null) {
+                               Class<?> c = p.swap();
+                               if (c != Null.class) {
+                                       if (isParentClass(PojoSwap.class, c))
+                                               return 
ClassUtils.newInstance(PojoSwap.class, c);
+                                       throw new RuntimeException("TODO - 
Surrogate classes not yet supported.");
                                }
-                               return null;
-                       } catch (Exception e) {
-                               throw new RuntimeException(e);
                        }
+                       return null;
                }
 
                private ClassMeta<?> findClassMeta(Class<?> c) {
@@ -1612,7 +1609,7 @@ public final class ClassMeta<T> implements Type {
         */
        public boolean isInstance(Object o) {
                if (o != null)
-                       return ClassUtils.isParentClass(this.innerClass, 
o.getClass());
+                       return isParentClass(this.innerClass, o.getClass());
                return false;
        }
 
@@ -1622,7 +1619,7 @@ public final class ClassMeta<T> implements Type {
         * @return The readable name for this class.
         */
        public String getReadableName() {
-               return ClassUtils.getReadableClassName(this.innerClass);
+               return getReadableClassName(this.innerClass);
        }
 
        private static class LocaleAsString {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/CoreObjectBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/CoreObjectBuilder.java 
b/juneau-core/src/main/java/org/apache/juneau/CoreObjectBuilder.java
index f566a92..f1fb525 100644
--- a/juneau-core/src/main/java/org/apache/juneau/CoreObjectBuilder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/CoreObjectBuilder.java
@@ -13,6 +13,7 @@
 package org.apache.juneau;
 
 import static org.apache.juneau.BeanContext.*;
+import static org.apache.juneau.internal.ClassUtils.*;
 
 import java.beans.*;
 import java.io.*;
@@ -74,12 +75,9 @@ public abstract class CoreObjectBuilder {
         * @param c The subclass of {@link CoreObject} to instantiate.
         * @return A new object using the settings defined in this builder.
         */
+       @SuppressWarnings("unchecked")
        public <T extends CoreObject> T build(Class<T> c) {
-               try {
-                       return 
c.getConstructor(PropertyStore.class).newInstance(propertyStore);
-               } catch (Exception e) {
-                       throw new RuntimeException(e);
-               }
+               return (T)newInstance(CoreObject.class, c, propertyStore);
        }
 
        
//--------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/InvalidDataConversionException.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/InvalidDataConversionException.java
 
b/juneau-core/src/main/java/org/apache/juneau/InvalidDataConversionException.java
index 1336fb0..2b4a0a1 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/InvalidDataConversionException.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/InvalidDataConversionException.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+
 import java.text.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 
 /**
@@ -32,7 +33,7 @@ public final class InvalidDataConversionException extends 
RuntimeException {
         * @param value The value being converted.
         */
        public InvalidDataConversionException(Object value, Class<?> toType, 
Exception cause) {
-               super(MessageFormat.format("Invalid data conversion from type 
''{0}'' to type ''{1}''.  Value={2}.", 
ClassUtils.getReadableClassNameForObject(value), 
ClassUtils.getReadableClassName(toType), getValue(value)), cause);
+               super(MessageFormat.format("Invalid data conversion from type 
''{0}'' to type ''{1}''.  Value={2}.", getReadableClassNameForObject(value), 
getReadableClassName(toType), getValue(value)), cause);
        }
 
        /**
@@ -41,12 +42,12 @@ public final class InvalidDataConversionException extends 
RuntimeException {
         * @param value The value being converted.
         */
        public InvalidDataConversionException(Object value, ClassMeta<?> 
toType, Exception cause) {
-               super(MessageFormat.format("Invalid data conversion from type 
''{0}'' to type ''{1}''.  Value={2}.", 
ClassUtils.getReadableClassNameForObject(value), toType.toString(), 
getValue(value)), cause);
+               super(MessageFormat.format("Invalid data conversion from type 
''{0}'' to type ''{1}''.  Value={2}.", getReadableClassNameForObject(value), 
toType.toString(), getValue(value)), cause);
        }
 
        private static String getValue(Object o) {
                if (o instanceof Class)
-                       return "'" + 
ClassUtils.getReadableClassName((Class<?>)o) + "'";
+                       return "'" + getReadableClassName((Class<?>)o) + "'";
                return JsonSerializer.DEFAULT_LAX == null ? "'" + o.toString() 
+ "'" : JsonSerializer.DEFAULT_LAX.toString(o);
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java 
b/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
index 1cfccb7..8b057ed 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
@@ -13,6 +13,7 @@
 package org.apache.juneau;
 
 import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
 import java.util.*;
@@ -591,7 +592,7 @@ public class ObjectMap extends LinkedHashMap<String,Object> 
{
         */
        public String[] getStringArray(String key) {
                String s = get(String.class, key);
-               return (s == null ? new String[0] : StringUtils.split(s, ','));
+               return (s == null ? new String[0] : split(s, ','));
        }
 
        /**
@@ -603,7 +604,7 @@ public class ObjectMap extends LinkedHashMap<String,Object> 
{
         */
        public String[] getStringArray(String key, String[] def) {
                String s = get(String.class, key);
-               String[] r = (s == null ? new String[0] : StringUtils.split(s, 
','));
+               String[] r = (s == null ? new String[0] : split(s, ','));
                return (r.length == 0 ? def : r);
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/PropertyStore.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/PropertyStore.java 
b/juneau-core/src/main/java/org/apache/juneau/PropertyStore.java
index 91af225..dc5f064 100644
--- a/juneau-core/src/main/java/org/apache/juneau/PropertyStore.java
+++ b/juneau-core/src/main/java/org/apache/juneau/PropertyStore.java
@@ -13,6 +13,8 @@
 package org.apache.juneau;
 
 import static org.apache.juneau.BeanContext.*;
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.lang.reflect.*;
 import java.util.*;
@@ -556,7 +558,7 @@ public final class PropertyStore {
                                        ConcurrentHashMap<Class<? extends 
Context>, Context> cacheForThisConfig = globalContextCache.get(key);
 
                                        if (! cacheForThisConfig.containsKey(c))
-                                               
cacheForThisConfig.putIfAbsent(c, 
c.getConstructor(PropertyStore.class).newInstance(this));
+                                               
cacheForThisConfig.putIfAbsent(c, newInstance(c, c, this));
 
                                        contexts.put(c, 
cacheForThisConfig.get(c));
                                }
@@ -634,7 +636,7 @@ public final class PropertyStore {
                        if (pm != null)
                                return pm.get(name, type, def);
                        String s = System.getProperty(name);
-                       if ((! StringUtils.isEmpty(s)) && 
isBeanSessionAvailable())
+                       if ((! isEmpty(s)) && isBeanSessionAvailable())
                                return getBeanSession().convertToType(s, type);
                        return def;
                } finally {
@@ -1074,19 +1076,19 @@ public final class PropertyStore {
                }
 
                void add(Object val) {
-                       throw new ConfigException("Cannot add value {0} ({1}) 
to property ''{2}'' ({3}).", JsonSerializer.DEFAULT_LAX.toString(val), 
ClassUtils.getReadableClassNameForObject(val), name, type);
+                       throw new ConfigException("Cannot add value {0} ({1}) 
to property ''{2}'' ({3}).", JsonSerializer.DEFAULT_LAX.toString(val), 
getReadableClassNameForObject(val), name, type);
                }
 
                void remove(Object val) {
-                       throw new ConfigException("Cannot remove value {0} 
({1}) from property ''{2}'' ({3}).", JsonSerializer.DEFAULT_LAX.toString(val), 
ClassUtils.getReadableClassNameForObject(val), name, type);
+                       throw new ConfigException("Cannot remove value {0} 
({1}) from property ''{2}'' ({3}).", JsonSerializer.DEFAULT_LAX.toString(val), 
getReadableClassNameForObject(val), name, type);
                }
 
                void put(Object val) {
-                       throw new ConfigException("Cannot put value {0} ({1}) 
to property ''{2}'' ({3}).", JsonSerializer.DEFAULT_LAX.toString(val), 
ClassUtils.getReadableClassNameForObject(val), name, type);
+                       throw new ConfigException("Cannot put value {0} ({1}) 
to property ''{2}'' ({3}).", JsonSerializer.DEFAULT_LAX.toString(val), 
getReadableClassNameForObject(val), name, type);
                }
 
                void put(Object key, Object val) {
-                       throw new ConfigException("Cannot put value 
{0}({1})->{2}({3}) to property ''{4}'' ({5}).", 
JsonSerializer.DEFAULT_LAX.toString(key), 
ClassUtils.getReadableClassNameForObject(key), 
JsonSerializer.DEFAULT_LAX.toString(val), 
ClassUtils.getReadableClassNameForObject(val), name, type);
+                       throw new ConfigException("Cannot put value 
{0}({1})->{2}({3}) to property ''{4}'' ({5}).", 
JsonSerializer.DEFAULT_LAX.toString(key), getReadableClassNameForObject(key), 
JsonSerializer.DEFAULT_LAX.toString(val), getReadableClassNameForObject(val), 
name, type);
                }
 
                protected Object value() {
@@ -1363,8 +1365,8 @@ public final class PropertyStore {
                if (o == null)
                        return null;
                if (o instanceof Class)
-                       return ClassUtils.getReadableClassName((Class<?>)o);
-               return ClassUtils.getReadableClassName(o.getClass());
+                       return getReadableClassName((Class<?>)o);
+               return getReadableClassName(o.getClass());
        }
 
        @Override /* Object */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/dto/ResultSetList.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/ResultSetList.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/ResultSetList.java
index d33afec..4f99c0d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/ResultSetList.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/ResultSetList.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.dto;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.sql.*;
 import java.util.*;
 
@@ -90,11 +92,11 @@ public final class ResultSetList extends 
LinkedList<Map<String,Object>> {
                                        Clob c = rs.getClob(col);
                                        return "clob["+c.length()+"]";
                                case Types.LONGVARBINARY:
-                                       return 
"longvarbinary["+IOUtils.count(rs.getBinaryStream(col))+"]";
+                                       return 
"longvarbinary["+count(rs.getBinaryStream(col))+"]";
                                case Types.LONGVARCHAR:
-                                       return 
"longvarchar["+IOUtils.count(rs.getAsciiStream(col))+"]";
+                                       return 
"longvarchar["+count(rs.getAsciiStream(col))+"]";
                                case Types.LONGNVARCHAR:
-                                       return 
"longnvarchar["+IOUtils.count(rs.getCharacterStream(col))+"]";
+                                       return 
"longnvarchar["+count(rs.getCharacterStream(col))+"]";
                                case Types.TIMESTAMP:
                                        return rs.getTimestamp(col);  // Oracle 
returns com.oracle.TIMESTAMP objects from getObject() which isn't a Timestamp.
                                default:

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Sample.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Sample.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Sample.java
index a9aa605..728cf18 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Sample.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Sample.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.dto.jsonschema;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 import java.net.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 
 @SuppressWarnings("serial")
@@ -30,7 +31,7 @@ class Sample {
                        public Schema load(URI uri) {
                                Reader r = null;
                                try {
-                                       r = new 
InputStreamReader(uri.toURL().openStream(), IOUtils.UTF8);
+                                       r = new 
InputStreamReader(uri.toURL().openStream(), UTF8);
                                        Schema s = JsonParser.DEFAULT.parse(r, 
Schema.class);
                                        return s;
                                } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
index e9ff2d7..434598b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.dto.swagger;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 
 /**
@@ -126,7 +127,7 @@ public class HeaderInfo extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public HeaderInfo setType(String type) {
-               if (isStrict() && ! ArrayUtils.contains(type, VALID_TYPES))
+               if (isStrict() && ! contains(type, VALID_TYPES))
                        throw new RuntimeException("Invalid value passed in to 
setType(String).  Value='"+type+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_TYPES));
                this.type = type;
                return this;
@@ -252,7 +253,7 @@ public class HeaderInfo extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public HeaderInfo setCollectionFormat(String collectionFormat) {
-               if (isStrict() && ! ArrayUtils.contains(collectionFormat, 
VALID_COLLECTION_FORMATS))
+               if (isStrict() && ! contains(collectionFormat, 
VALID_COLLECTION_FORMATS))
                        throw new RuntimeException("Invalid value passed in to 
setCollectionFormat(String).  Value='"+collectionFormat+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_COLLECTION_FORMATS));
                this.collectionFormat = collectionFormat;
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Items.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Items.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Items.java
index 2f178f3..ca63e71 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Items.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Items.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.dto.swagger;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 
 /**
@@ -91,7 +92,7 @@ public class Items extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public Items setType(String type) {
-               if (isStrict() && ! ArrayUtils.contains(type, VALID_TYPES))
+               if (isStrict() && ! contains(type, VALID_TYPES))
                        throw new RuntimeException("Invalid value passed in to 
setType(String).  Value='"+type+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_TYPES));
                this.type = type;
                return this;
@@ -217,7 +218,7 @@ public class Items extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public Items setCollectionFormat(String collectionFormat) {
-               if (isStrict() && ! ArrayUtils.contains(collectionFormat, 
VALID_COLLECTION_FORMATS))
+               if (isStrict() && ! contains(collectionFormat, 
VALID_COLLECTION_FORMATS))
                        throw new RuntimeException("Invalid value passed in to 
setCollectionFormat(String).  Value='"+collectionFormat+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_COLLECTION_FORMATS));
                this.collectionFormat = collectionFormat;
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
index 868e398..692ad34 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.dto.swagger;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 
 /**
@@ -162,7 +163,7 @@ public class ParameterInfo extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public ParameterInfo setIn(String in) {
-               if (isStrict() && ! ArrayUtils.contains(in, VALID_IN))
+               if (isStrict() && ! contains(in, VALID_IN))
                        throw new RuntimeException("Invalid value passed in to 
setIn(String).  Value='"+in+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_IN));
                this.in = in;
                if ("path".equals(in))
@@ -316,7 +317,7 @@ public class ParameterInfo extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public ParameterInfo setType(String type) {
-               if (isStrict() && ! ArrayUtils.contains(type, VALID_TYPES))
+               if (isStrict() && ! contains(type, VALID_TYPES))
                        throw new RuntimeException("Invalid value passed in to 
setType(String).  Value='"+type+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_TYPES));
                this.type = type;
                return this;
@@ -486,7 +487,7 @@ public class ParameterInfo extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public ParameterInfo setCollectionFormat(String collectionFormat) {
-               if (isStrict() && ! ArrayUtils.contains(collectionFormat, 
VALID_COLLECTION_FORMATS))
+               if (isStrict() && ! contains(collectionFormat, 
VALID_COLLECTION_FORMATS))
                        throw new RuntimeException("Invalid value passed in to 
setCollectionFormat(String).  Value='"+collectionFormat+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_COLLECTION_FORMATS));
                this.collectionFormat = collectionFormat;
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SecurityScheme.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SecurityScheme.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SecurityScheme.java
index 5af2fb1..8856db2 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SecurityScheme.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SecurityScheme.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.dto.swagger;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 
 /**
@@ -101,7 +102,7 @@ public class SecurityScheme extends SwaggerElement {
         * @return This object (for method chaining).
         */
        public SecurityScheme setType(String type) {
-               if (isStrict() && ! ArrayUtils.contains(type, VALID_TYPES))
+               if (isStrict() && ! contains(type, VALID_TYPES))
                        throw new RuntimeException("Invalid value passed in to 
setType(String).  Value='"+type+"', valid values=" + 
JsonSerializer.DEFAULT_LAX.toString(VALID_TYPES));
                this.type = type;
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/encoders/EncoderGroupBuilder.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/encoders/EncoderGroupBuilder.java 
b/juneau-core/src/main/java/org/apache/juneau/encoders/EncoderGroupBuilder.java
index be4546b..4f4de06 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/encoders/EncoderGroupBuilder.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/encoders/EncoderGroupBuilder.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.encoders;
 
 import static org.apache.juneau.internal.CollectionUtils.*;
+import static org.apache.juneau.internal.ClassUtils.*;
 
 import java.util.*;
 
@@ -46,13 +47,8 @@ public class EncoderGroupBuilder {
         * @return This object (for method chaining).
         */
        public EncoderGroupBuilder append(Class<?>...e) {
-               for (int i = e.length-1; i >= 0; i--) {
-                       try {
-                               
encoders.add((Encoder)((Class<?>)e[i]).newInstance());
-                       } catch (Exception x) {
-                               throw new RuntimeException(x);
-                       }
-               }
+               for (int i = e.length-1; i >= 0; i--)
+                       encoders.add(newInstance(Encoder.class, e[i]));
                return this;
        }
 
@@ -96,17 +92,11 @@ public class EncoderGroupBuilder {
         *
         * @return A new {@link EncoderGroup} object.
         */
-       @SuppressWarnings("unchecked")
        public EncoderGroup build() {
-               try {
-                       List<Encoder> l = new ArrayList<Encoder>();
-                       for (Object e : encoders) {
-                               l.add(e instanceof Class ? ((Class<? extends 
Encoder>)e).getConstructor().newInstance() : (Encoder)e);
-                       }
-                       Collections.reverse(l);
-                       return new EncoderGroup(l.toArray(new 
Encoder[l.size()]));
-               } catch (Exception x) {
-                       throw new RuntimeException("Could not instantiate 
encoder.", x);
-               }
+               List<Encoder> l = new ArrayList<Encoder>();
+               for (Object e : encoders)
+                       l.add(e instanceof Class ? newInstance(Encoder.class, 
(Class<?>)e) : (Encoder)e);
+               Collections.reverse(l);
+               return new EncoderGroup(l.toArray(new Encoder[l.size()]));
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
index 5490265..c9c69b7 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
@@ -13,13 +13,13 @@
 package org.apache.juneau.html;
 
 import static org.apache.juneau.html.HtmlDocSerializerContext.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.serializer.*;
 
@@ -69,7 +69,7 @@ public final class HtmlDocSerializerSession extends 
HtmlSerializerSession {
                        text = op.getString(HTMLDOC_text, ctx.text);
                        links = new LinkedHashMap(op.getMap(HTMLDOC_links, 
ctx.links));
                        cssUrl = op.getString(HTMLDOC_cssUrl, ctx.cssUrl);
-                       cssImports = 
StringUtils.split(op.getString(HTMLDOC_cssImports, null), ',');
+                       cssImports = split(op.getString(HTMLDOC_cssImports, 
null), ',');
                        nowrap = op.getBoolean(HTMLDOC_cssUrl, ctx.nowrap);
                }
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/html/HtmlParserSession.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParserSession.java 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParserSession.java
index 2bf5e25..092aa0c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParserSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParserSession.java
@@ -14,6 +14,7 @@ package org.apache.juneau.html;
 
 import static javax.xml.stream.XMLStreamConstants.*;
 import static org.apache.juneau.html.HtmlTag.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -23,7 +24,6 @@ import javax.xml.stream.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.xml.*;
 
 /**
@@ -93,7 +93,7 @@ public final class HtmlParserSession extends XmlParserSession 
{
                        if (et == START_ELEMENT) {
                                if (characters != null) {
                                        if (sb.length() == 0)
-                                               characters = 
StringUtils.trimStart(characters);
+                                               characters = 
trimStart(characters);
                                        sb.append(characters);
                                        characters = null;
                                }
@@ -135,9 +135,9 @@ public final class HtmlParserSession extends 
XmlParserSession {
                        } else if (et == END_ELEMENT) {
                                if (characters != null) {
                                        if (sb.length() == 0)
-                                               characters = 
StringUtils.trimStart(characters);
+                                               characters = 
trimStart(characters);
                                        if (depth == 0)
-                                               characters = 
StringUtils.trimEnd(characters);
+                                               characters = 
trimEnd(characters);
                                        sb.append(characters);
                                        characters = null;
                                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/html/HtmlWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlWriter.java 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlWriter.java
index 0ea9ccf..d8648b4 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlWriter.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.html;
 
+import static org.apache.juneau.internal.StringUtils.*;
+
 import java.io.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.xml.*;
 
 /**
@@ -89,7 +90,7 @@ public class HtmlWriter extends XmlWriter {
                                else if (test == ' ')
                                        append("<sp> </sp>");
                                else
-                                       
append("<sp>&#x").append(StringUtils.toHex(test)).append(";</sp>");
+                                       
append("<sp>&#x").append(toHex(test)).append(";</sp>");
                        }
                        else if (Character.isISOControl(test))
                                append("&#" + (int) test + ";");

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/http/Accept.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/http/Accept.java 
b/juneau-core/src/main/java/org/apache/juneau/http/Accept.java
index c30d76b..9fa6971 100644
--- a/juneau-core/src/main/java/org/apache/juneau/http/Accept.java
+++ b/juneau-core/src/main/java/org/apache/juneau/http/Accept.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.http;
 
 import static org.apache.juneau.http.Constants.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.util.*;
 
@@ -232,6 +233,6 @@ public final class Accept {
 
        @Override /* Object */
        public String toString() {
-               return StringUtils.join(mediaRanges, ',');
+               return join(mediaRanges, ',');
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/http/AcceptCharset.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/http/AcceptCharset.java 
b/juneau-core/src/main/java/org/apache/juneau/http/AcceptCharset.java
index 28964fd..d208291 100644
--- a/juneau-core/src/main/java/org/apache/juneau/http/AcceptCharset.java
+++ b/juneau-core/src/main/java/org/apache/juneau/http/AcceptCharset.java
@@ -16,6 +16,7 @@ import static org.apache.juneau.http.Constants.*;
 
 import org.apache.juneau.internal.*;
 
+
 /**
  * Represents a parsed <l>Accept-Charset</l> HTTP request header.
  * <p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java 
b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
index da2e09f..d2a7e6a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
@@ -16,6 +16,8 @@ import static java.lang.reflect.Modifier.*;
 import static org.apache.juneau.ini.ConfigFileFormat.*;
 import static org.apache.juneau.ini.ConfigUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.ArrayUtils.*;
 
 import java.beans.*;
 import java.io.*;
@@ -461,7 +463,7 @@ public abstract class ConfigFile implements 
Map<String,Section> {
                String s = getString(key);
                if (s == null)
                        return def;
-               String[] r = StringUtils.isEmpty(s) ? new String[0] : 
StringUtils.split(s, ',');
+               String[] r = StringUtils.isEmpty(s) ? new String[0] : split(s, 
',');
                return r.length == 0 ? def : r;
        }
 
@@ -607,7 +609,7 @@ public abstract class ConfigFile implements 
Map<String,Section> {
                                int mod = m.getModifiers();
                                if (isPublic(mod) && (!isStatic(mod)) && 
m.getName().startsWith("set") && m.getParameterTypes().length == 1) {
                                        Class<?> pt = m.getParameterTypes()[0];
-                                       if (permittedPropertyTypes == null || 
permittedPropertyTypes.length == 0 || ArrayUtils.contains(pt, 
permittedPropertyTypes)) {
+                                       if (permittedPropertyTypes == null || 
permittedPropertyTypes.length == 0 || contains(pt, permittedPropertyTypes)) {
                                                String propName = 
Introspector.decapitalize(m.getName().substring(3));
                                                Object value = 
getObject(sectionName, propName, pt);
                                                if (value != null) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileBuilder.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileBuilder.java 
b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileBuilder.java
index 67a1693..0f50328 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileBuilder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileBuilder.java
@@ -13,12 +13,12 @@
 package org.apache.juneau.ini;
 
 import static org.apache.juneau.ini.ConfigFileFormat.*;
+import static org.apache.juneau.internal.FileUtils.*;
 
 import java.io.*;
 import java.nio.charset.*;
 import java.util.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
@@ -188,7 +188,7 @@ public class ConfigFileBuilder {
                File f = new File(path);
                if (f.isAbsolute()) {
                        if (createIfNotExists)
-                               FileUtils.create(f);
+                               create(f);
                        if (f.exists())
                                return f;
                        throw new FileNotFoundException("Could not find config 
file '"+path+"'");
@@ -206,7 +206,7 @@ public class ConfigFileBuilder {
 
                if (createIfNotExists) {
                        f = new File(searchPaths.get(0).getAbsolutePath() + "/" 
+ path);
-                       FileUtils.create(f);
+                       create(f);
                        return f;
                }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileImpl.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileImpl.java 
b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileImpl.java
index dc784b5..0e08db2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileImpl.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFileImpl.java
@@ -14,6 +14,7 @@ package org.apache.juneau.ini;
 
 import static org.apache.juneau.ini.ConfigUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -161,7 +162,7 @@ public final class ConfigFileImpl extends ConfigFile {
                                                        section.addLines(null, 
lines.toArray(new String[lines.size()]));
                                                        lines.clear();
                                                        canAppend = false;
-                                                       String sn = 
StringUtils.replaceUnicodeSequences(line.substring(line.indexOf('[')+1, 
line.indexOf(']')).trim());
+                                                       String sn = 
replaceUnicodeSequences(line.substring(line.indexOf('[')+1, 
line.indexOf(']')).trim());
                                                        section = 
getSection(sn, true).addHeaderComments(section.removeTrailingComments());
                                                } else {
                                                        char c = line.isEmpty() 
? 0 : line.charAt(0);
@@ -219,7 +220,7 @@ public final class ConfigFileImpl extends ConfigFile {
                if (isSimpleType(type))
                        return (T)pBeanSession.convertToType(s, (Class<?>)type);
 
-               char s1 = StringUtils.charAt(s, 0);
+               char s1 = charAt(s, 0);
                if (s1 != '[' && s1 != '{' && ! "null".equals(s))
                        s = '\'' + s + '\'';
 
@@ -774,7 +775,7 @@ public final class ConfigFileImpl extends ConfigFile {
        }
 
        private static void addChange(Set<String> changes, String section, 
String key, String oldVal, String newVal) {
-               if (! StringUtils.isEquals(oldVal, newVal))
+               if (! isEquals(oldVal, newVal))
                        changes.add(getFullKey(section, key));
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ini/Section.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ini/Section.java 
b/juneau-core/src/main/java/org/apache/juneau/ini/Section.java
index 8a53d3a..04a516c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/Section.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/Section.java
@@ -14,13 +14,13 @@ package org.apache.juneau.ini;
 
 import static org.apache.juneau.ini.ConfigFileFormat.*;
 import static org.apache.juneau.ini.ConfigUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
 import java.util.*;
 import java.util.concurrent.locks.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 
 /**
  * Defines a section in a config file.
@@ -476,8 +476,8 @@ public class Section implements Map<String,String> {
                                        this.lines.add(line);
                                else if (isAssignment(line)) {
                                        // Key/value pairs are stored as either 
">key" or "*key";
-                                       String key = 
StringUtils.replaceUnicodeSequences(line.substring(0, 
line.indexOf('=')).trim());
-                                       String val = 
StringUtils.replaceUnicodeSequences(line.substring(line.indexOf('=')+1).trim());
+                                       String key = 
replaceUnicodeSequences(line.substring(0, line.indexOf('=')).trim());
+                                       String val = 
replaceUnicodeSequences(line.substring(line.indexOf('=')+1).trim());
                                        boolean encoded = key.length() > 1 && 
key.endsWith("*");
                                        if (encoded) {
                                                key = key.substring(0, 
key.lastIndexOf('*'));
@@ -566,7 +566,7 @@ public class Section implements Map<String,String> {
 
        private void addChange(Set<String> changes, String key, String oldVal, 
String newVal) {
                if (changes != null)
-                       if (! StringUtils.isEquals(oldVal, newVal))
+                       if (! isEquals(oldVal, newVal))
                                changes.add(getFullKey(name, key));
        }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ini/SectionListener.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/ini/SectionListener.java 
b/juneau-core/src/main/java/org/apache/juneau/ini/SectionListener.java
index 7ceef7a..4c6c1e4 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/SectionListener.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/SectionListener.java
@@ -12,9 +12,9 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.ini;
 
-import java.util.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
-import org.apache.juneau.internal.*;
+import java.util.*;
 
 /**
  * Listener that can be used to listen for change events for a specific 
section in a config file.
@@ -32,7 +32,7 @@ public class SectionListener extends ConfigFileListener {
         * @param section The name of the section in the config file to listen 
to.
         */
        public SectionListener(String section) {
-               isDefault = StringUtils.isEmpty(section);
+               isDefault = isEmpty(section);
                prefix = isDefault ? null : (section + '/');
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/ini/XorEncoder.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ini/XorEncoder.java 
b/juneau-core/src/main/java/org/apache/juneau/ini/XorEncoder.java
index b844d13..ae2c0db 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/XorEncoder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/XorEncoder.java
@@ -12,7 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.ini;
 
-import org.apache.juneau.internal.*;
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 /**
  * Simply XOR+Base64 encoder for obscuring passwords and other sensitive data 
in INI config files.
@@ -28,21 +29,21 @@ public final class XorEncoder implements Encoder {
 
        @Override /* Encoder */
        public String encode(String fieldName, String in) {
-               byte[] b = in.getBytes(IOUtils.UTF8);
+               byte[] b = in.getBytes(UTF8);
                for (int i = 0; i < b.length; i++) {
                                int j = i % key.length();
                        b[i] = (byte)(b[i] ^ key.charAt(j));
                }
-               return StringUtils.base64Encode(b);
+               return base64Encode(b);
        }
 
        @Override /* Encoder */
        public String decode(String fieldName, String in) {
-               byte[] b = StringUtils.base64Decode(in);
+               byte[] b = base64Decode(in);
                for (int i = 0; i < b.length; i++) {
                        int j = i % key.length();
                        b[i] = (byte)(b[i] ^ key.charAt(j));
        }
-               return new String(b, IOUtils.UTF8);
+               return new String(b, UTF8);
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/internal/ClassUtils.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/internal/ClassUtils.java 
b/juneau-core/src/main/java/org/apache/juneau/internal/ClassUtils.java
index f3163d3..ef46ffc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/internal/ClassUtils.java
+++ b/juneau-core/src/main/java/org/apache/juneau/internal/ClassUtils.java
@@ -743,20 +743,22 @@ public final class ClassUtils {
        /**
         * Creates an instance of the specified class without throwing 
exceptions.
         *
-        * @param c The class to instantiate.
+        * @param c The class to cast to.
+        * @param c2 The class to instantiate.
         * @param args The arguments to pass to the constructor.
         * @return The new class instance, or <jk>null</jk> if the class was 
<jk>null</jk>.
         * @throws RuntimeException if constructor could not be found or called.
         */
-       public static <T> T newInstance(Class<T> c, Object...args) {
-               if (c == null)
+       @SuppressWarnings("unchecked")
+       public static <T> T newInstance(Class<T> c, Class<?> c2, Object...args) 
{
+               if (c2 == null)
                        return null;
                try {
                        if (args.length == 0)
-                               return c.newInstance();
-                       return 
c.getConstructor(getClasses(args)).newInstance(args);
+                               return (T)c2.newInstance();
+                       return 
(T)c2.getConstructor(getClasses(args)).newInstance(args);
                } catch (Exception e) {
-                       throw new RuntimeException(e);
+                       throw new RuntimeException("Could not instantiate class 
" + c.getName(), e);
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-core/src/main/java/org/apache/juneau/json/JsonClassMeta.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/json/JsonClassMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonClassMeta.java
index 0dff9ba..b274365 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonClassMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonClassMeta.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.json;
 
+import static org.apache.juneau.internal.StringUtils.*;
+
 import org.apache.juneau.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.json.annotation.*;
@@ -33,7 +35,7 @@ public class JsonClassMeta extends ClassMetaExtended {
                super(cm);
                this.json = ReflectionUtils.getAnnotation(Json.class, 
getInnerClass());
                if (json != null) {
-                       wrapperAttr = 
StringUtils.nullIfEmpty(json.wrapperAttr());
+                       wrapperAttr = nullIfEmpty(json.wrapperAttr());
                } else {
                        wrapperAttr = null;
                }

Reply via email to