Repository: incubator-juneau
Updated Branches:
  refs/heads/master 0ccac121d -> 3bdc0d85a


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
index 9be6df6..90f2cf8 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.client;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -201,7 +203,7 @@ public final class RestCall {
                        return query(name, toBeanMap(value), skipIfEmpty, 
partSerializer);
                } else if (value instanceof Reader) {
                        try {
-                               uriBuilder.setCustomQuery(IOUtils.read(value));
+                               uriBuilder.setCustomQuery(read(value));
                        } catch (IOException e) {
                                throw new RestCallException(e);
                        }
@@ -210,7 +212,7 @@ public final class RestCall {
                        if (! isEmpty(s))
                                uriBuilder.setCustomQuery(s);
                } else {
-                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to query(name,value,skipIfEmpty) for data type ''{1}''", name, 
ClassUtils.getReadableClassNameForObject(value));
+                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to query(name,value,skipIfEmpty) for data type ''{1}''", name, 
getReadableClassNameForObject(value));
                }
                return this;
        }
@@ -315,7 +317,7 @@ public final class RestCall {
                                input(new StringEntity(value.toString()));
                        } catch (UnsupportedEncodingException e) {}
                } else {
-                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to formData(name,value,skipIfEmpty) for data type ''{1}''", 
name, ClassUtils.getReadableClassNameForObject(value));
+                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to formData(name,value,skipIfEmpty) for data type ''{1}''", 
name, getReadableClassNameForObject(value));
                }
                return this;
        }
@@ -412,7 +414,7 @@ public final class RestCall {
                } else if (isBean(value)) {
                        return path(name, toBeanMap(value), partSerializer);
                } else if (value != null) {
-                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to path(name,value) for data type ''{1}''", name, 
ClassUtils.getReadableClassNameForObject(value));
+                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to path(name,value) for data type ''{1}''", name, 
getReadableClassNameForObject(value));
                }
                return this;
        }
@@ -532,7 +534,7 @@ public final class RestCall {
                } else if (isBean(value)) {
                        return header(name, toBeanMap(value), skipIfEmpty, 
partSerializer);
                } else {
-                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to header(name,value,skipIfEmpty) for data type ''{1}''", name, 
ClassUtils.getReadableClassNameForObject(value));
+                       throw new FormattedRuntimeException("Invalid name 
''{0}'' passed to header(name,value,skipIfEmpty) for data type ''{1}''", name, 
getReadableClassNameForObject(value));
                }
                return this;
        }
@@ -1632,7 +1634,7 @@ public final class RestCall {
        public String getResponseAsString() throws IOException {
                try {
                        Reader r = getReader();
-                       String s = IOUtils.read(r).toString();
+                       String s = read(r).toString();
                        return s;
                } catch (IOException e) {
                        isFailed = true;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
index d4579eb..097a6cf 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallException.java
@@ -13,6 +13,8 @@
 package org.apache.juneau.rest.client;
 
 import static java.lang.String.*;
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -22,7 +24,6 @@ import java.util.regex.*;
 import org.apache.http.*;
 import org.apache.http.client.*;
 import org.apache.http.util.*;
-import org.apache.juneau.internal.*;
 
 /**
  * Exception representing a <code>400+</code> HTTP response code against a 
remote resource.
@@ -76,7 +77,7 @@ public final class RestCallException extends IOException {
         * @throws IOException
         */
        public RestCallException(String msg, HttpResponse response) throws 
ParseException, IOException {
-               super(format("%s%nstatus='%s'%nResponse: %n%s%n", msg, 
response.getStatusLine().getStatusCode(), 
EntityUtils.toString(response.getEntity(), IOUtils.UTF8)));
+               super(format("%s%nstatus='%s'%nResponse: %n%s%n", msg, 
response.getStatusLine().getStatusCode(), 
EntityUtils.toString(response.getEntity(), UTF8)));
        }
 
        /**
@@ -136,11 +137,11 @@ public final class RestCallException extends IOException {
                        Throwable t = null;
                        try {
                                Class<?> exceptionClass = 
cl.loadClass(serverExceptionName);
-                               Constructor<?> c = 
ClassUtils.findPublicConstructor(exceptionClass, String.class);
+                               Constructor<?> c = 
findPublicConstructor(exceptionClass, String.class);
                                if (c != null)
                                        t = 
(Throwable)c.newInstance(serverExceptionMessage);
                                if (t == null) {
-                                       c = 
ClassUtils.findPublicConstructor(exceptionClass);
+                                       c = 
findPublicConstructor(exceptionClass);
                                        if (c != null)
                                                t = (Throwable)c.newInstance();
                                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index 910a9fb..32fd4da 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.client;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.ReflectionUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -28,7 +30,6 @@ import org.apache.http.client.utils.*;
 import org.apache.http.entity.*;
 import org.apache.http.impl.client.*;
 import org.apache.juneau.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.remoteable.*;
@@ -513,7 +514,7 @@ public class RestClient extends CoreObject {
        public <T> T getRemoteableProxy(final Class<T> interfaceClass, Object 
restUrl, final Serializer serializer, final Parser parser) {
 
                if (restUrl == null) {
-                       Remoteable r = 
ReflectionUtils.getAnnotation(Remoteable.class, interfaceClass);
+                       Remoteable r = getAnnotation(Remoteable.class, 
interfaceClass);
 
                        String path = r == null ? "" : trimSlashes(r.path());
                        if (path.indexOf("://") == -1) {
@@ -648,11 +649,7 @@ public class RestClient extends CoreObject {
                        return null;
                PartSerializer pf = partSerializerCache.get(c);
                if (pf == null) {
-                       try {
-                               partSerializerCache.putIfAbsent(c, 
(PartSerializer)c.newInstance());
-                       } catch (Exception e) {
-                               throw new RuntimeException(e);
-                       }
+                       partSerializerCache.putIfAbsent(c, 
newInstance(PartSerializer.class, c));
                        pf = partSerializerCache.get(c);
                }
                return pf;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index 93e7a3c..5dc2ac6 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -12,6 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.client;
 
+import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.parser.ParserContext.*;
 import static org.apache.juneau.serializer.SerializerContext.*;
 
@@ -42,7 +43,6 @@ import org.apache.http.impl.conn.*;
 import org.apache.http.protocol.*;
 import org.apache.juneau.*;
 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.*;
@@ -219,7 +219,7 @@ public class RestClientBuilder extends CoreObjectBuilder {
                                default: throw new RuntimeException("Programmer 
error");
                        }
 
-                       for (String p : 
StringUtils.split(sslOpts.getProtocols(), ',')) {
+                       for (String p : split(sslOpts.getProtocols(), ',')) {
                                try {
                                        TrustManager tm = new 
SimpleX509TrustManager(sslOpts.getCertValidate() == SSLOpts.CertValidate.LAX);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequestEntity.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequestEntity.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequestEntity.java
index 96c10e6..9e460ab 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequestEntity.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequestEntity.java
@@ -12,11 +12,12 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.client;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 
 import org.apache.http.entity.*;
 import org.apache.http.message.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.utils.*;
 
@@ -45,7 +46,7 @@ public final class RestRequestEntity extends BasicHttpEntity {
                if (output instanceof InputStream) {
                        IOPipe.create(output, os).closeOut().run();
                } else if (output instanceof Reader) {
-                       IOPipe.create(output, new OutputStreamWriter(os, 
IOUtils.UTF8)).closeOut().run();
+                       IOPipe.create(output, new OutputStreamWriter(os, 
UTF8)).closeOut().run();
                } else {
                        try {
                                if (serializer == null) {
@@ -57,7 +58,7 @@ public final class RestRequestEntity extends BasicHttpEntity {
                                        os.flush();
                                        os.close();
                                } else {
-                                       Writer w = new OutputStreamWriter(os, 
IOUtils.UTF8);
+                                       Writer w = new OutputStreamWriter(os, 
UTF8);
                                        WriterSerializer s2 = 
(WriterSerializer)serializer;
                                        s2.serialize(output, w);
                                        w.flush();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
index e0041da..35ce572 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.client;
 
-import org.apache.juneau.internal.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 /**
  * SSL configuration options that get passed to {@link 
RestClientBuilder#enableSSL(SSLOpts)}.
@@ -69,7 +69,7 @@ public class SSLOpts {
         */
        protected String getDefaultProtocols() {
                String sp = System.getProperty("transport.client.protocol");
-               if (StringUtils.isEmpty(sp))
+               if (isEmpty(sp))
                        sp = "SSL_TLS,TLS,SSL";
                return sp;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
 
b/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
index 8ff2e52..272c335 100644
--- 
a/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
+++ 
b/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.rest.jaxrs;
 
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 
 import java.io.*;
 import java.lang.annotation.*;
@@ -26,7 +27,6 @@ import javax.ws.rs.ext.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.serializer.*;
@@ -113,7 +113,7 @@ public class BaseProvider implements 
MessageBodyReader<Object>, MessageBodyWrite
                        TimeZone timeZone = getTimeZone(headers);
                        if (s.isWriterSerializer()) {
                                WriterSerializer s2 = (WriterSerializer)s;
-                               OutputStreamWriter w = new 
OutputStreamWriter(out, IOUtils.UTF8);
+                               OutputStreamWriter w = new 
OutputStreamWriter(out, UTF8);
                                SerializerSession session = s.createSession(w, 
mp, null, locale, timeZone, sm.getMediaType(), null);
                                s2.serialize(session, o);
                                w.flush();
@@ -149,7 +149,7 @@ public class BaseProvider implements 
MessageBodyReader<Object>, MessageBodyWrite
                        TimeZone timeZone = getTimeZone(headers);
                        if (p.isReaderParser()) {
                                ReaderParser p2 = (ReaderParser)p;
-                               InputStreamReader r = new InputStreamReader(in, 
IOUtils.UTF8);
+                               InputStreamReader r = new InputStreamReader(in, 
UTF8);
                                ParserSession session = p2.createSession(r, mp, 
null, null, locale, timeZone, pm.getMediaType());
                                return p2.parseSession(session, 
p.getBeanContext().getClassMeta(gType));
                        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/CharsetEncodingsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/CharsetEncodingsResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/CharsetEncodingsResource.java
index 4f9e6f3..2abb53a 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/CharsetEncodingsResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/CharsetEncodingsResource.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
@@ -41,7 +42,7 @@ public class CharsetEncodingsResource extends RestServlet {
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
-                       return (T)IOUtils.read(session.getReader());
+                       return (T)read(session.getReader());
                }
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/FormDataResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/FormDataResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/FormDataResource.java
index 3b4cdd1..d83b821 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/FormDataResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/FormDataResource.java
@@ -12,10 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
 
@@ -33,7 +34,7 @@ public class FormDataResource extends RestServletDefault {
        
//====================================================================================================
        @RestMethod(name="POST", path="/*")
        public Reader test(RestRequest req) throws IOException {
-               return new 
StringReader("Content-Type=["+req.getContentType()+"], 
contents=["+IOUtils.read(req.getReader())+"]");
+               return new 
StringReader("Content-Type=["+req.getContentType()+"], 
contents=["+read(req.getReader())+"]");
        }
 
        
//====================================================================================================

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
index adad8d2..a7a8d57 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
@@ -58,7 +59,7 @@ public class GroupsResource extends RestServlet {
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
-                       return (T)IOUtils.read(session.getReader());
+                       return (T)read(session.getReader());
                }
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NoParserInputResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NoParserInputResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NoParserInputResource.java
index 51a578e..cbd7230 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NoParserInputResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NoParserInputResource.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.plaintext.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
@@ -34,7 +35,7 @@ public class NoParserInputResource extends RestServlet {
        
//====================================================================================================
        @RestMethod(name="PUT", path="/testInputStream")
        public String testInputStream(@Body InputStream in) throws Exception {
-               return IOUtils.read(in);
+               return read(in);
        }
 
        
//====================================================================================================
@@ -42,7 +43,7 @@ public class NoParserInputResource extends RestServlet {
        
//====================================================================================================
        @RestMethod(name="PUT", path="/testReader")
        public String testReader(@Body Reader in) throws Exception {
-               return IOUtils.read(in);
+               return read(in);
        }
 
        
//====================================================================================================
@@ -51,6 +52,6 @@ public class NoParserInputResource extends RestServlet {
        
//====================================================================================================
        @RestMethod(name="PUT", path="/testPushbackReader")
        public String testPushbackReader(@Body PushbackReader in) throws 
Exception {
-               return IOUtils.read(in);
+               return read(in);
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
index 706b97f..3d49776 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
@@ -12,6 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.rest.RestContext.*;
 
 import java.io.*;
@@ -323,17 +324,17 @@ public class ParamsResource extends RestServletDefault {
 
        @RestMethod(name="POST", path="/otherObjects/InputStream")
        public String testOtherInputStream(InputStream t) throws IOException {
-               return IOUtils.read(t);
+               return read(t);
        }
 
        @RestMethod(name="POST", path="/otherObjects/ServletInputStream")
        public String testOtherServletInputStream(ServletInputStream t) throws 
IOException {
-               return IOUtils.read(t);
+               return read(t);
        }
 
        @RestMethod(name="POST", path="/otherObjects/Reader")
        public String testOtherReader(Reader t) throws IOException {
-               return IOUtils.read(t);
+               return read(t);
        }
 
        @RestMethod(name="GET", path="/otherObjects/OutputStream")

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
index 3c6ddad..24823a2 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
@@ -12,11 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.rest.annotation.Inherit.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.plaintext.*;
 import org.apache.juneau.rest.*;
@@ -44,7 +44,7 @@ public class ParsersResource extends RestServletDefault {
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
-                       return (T)("text/a - " + 
IOUtils.read(session.getReader()).trim());
+                       return (T)("text/a - " + 
read(session.getReader()).trim());
                }
        }
 
@@ -74,7 +74,7 @@ public class ParsersResource extends RestServletDefault {
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
-                       return (T)("text/b - " + 
IOUtils.read(session.getReader()).trim());
+                       return (T)("text/b - " + 
read(session.getReader()).trim());
                }
        }
 
@@ -96,7 +96,7 @@ public class ParsersResource extends RestServletDefault {
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
-                       return (T)("text/c - " + 
IOUtils.read(session.getReader()).trim());
+                       return (T)("text/c - " + 
read(session.getReader()).trim());
                }
        }
 
@@ -118,7 +118,7 @@ public class ParsersResource extends RestServletDefault {
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
-                       return (T)("text/d - " + 
IOUtils.read(session.getReader()).trim());
+                       return (T)("text/d - " + 
read(session.getReader()).trim());
                }
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
index e6b5147..f5fcf09 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
@@ -13,12 +13,12 @@
 package org.apache.juneau.rest.test;
 
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -55,7 +55,7 @@ public class AcceptCharsetTest extends RestTestcase {
                r = client.doGet(url).acceptCharset(requestCharset).connect();
                
assertTrue(r.getResponse().getFirstHeader("Content-Type").getValue().toLowerCase().contains(responseCharset));
                is = r.getInputStream();
-               assertEquals("foo", IOUtils.read(new InputStreamReader(is, 
responseCharset)));
+               assertEquals("foo", read(new InputStreamReader(is, 
responseCharset)));
        }
 
        
//====================================================================================================

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
index 3bf705e..fa0a242 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
@@ -13,12 +13,12 @@
 package org.apache.juneau.rest.test;
 
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -44,7 +44,7 @@ public class CharsetEncodingsTest extends RestTestcase {
                assertEquals("utf-8/foo/utf-8", r);
 
                is = client.doPut(url, new 
StringReader("foo")).getInputStream();
-               r = IOUtils.read(new InputStreamReader(is, "utf-8"));
+               r = read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
@@ -52,7 +52,7 @@ public class CharsetEncodingsTest extends RestTestcase {
 
                client = 
cb.acceptCharset("utf-8").contentType("text/p;charset=utf-8").build();
                is = client.doPut(url, new 
StringReader("foo")).acceptCharset("utf-8").contentType("text/p;charset=utf-8").getInputStream();
-               r = IOUtils.read(new InputStreamReader(is, "utf-8"));
+               r = read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
@@ -60,7 +60,7 @@ public class CharsetEncodingsTest extends RestTestcase {
 
                client = 
cb.acceptCharset("Shift_JIS").contentType("text/p;charset=shift_jis").build();
                is = client.doPut(url, new 
StringReader("foo")).getInputStream();
-               r = IOUtils.read(new InputStreamReader(is, "Shift_JIS"));
+               r = read(new InputStreamReader(is, "Shift_JIS"));
                if (debug) System.err.println(r);
                assertEquals("shift_jis/foo/shift_jis", r);
 
@@ -69,7 +69,7 @@ public class CharsetEncodingsTest extends RestTestcase {
                try {
                        client = 
cb.acceptCharset("BAD").contentType("text/p;charset=sjis").build();
                        is = client.doPut(url + "?noTrace=true", new 
StringReader("foo")).getInputStream();
-                       r = IOUtils.read(new InputStreamReader(is, "sjis"));
+                       r = read(new InputStreamReader(is, "sjis"));
                        if (debug) System.err.println(r);
                        fail("Exception expected");
                } catch (RestCallException e) {
@@ -80,7 +80,7 @@ public class CharsetEncodingsTest extends RestTestcase {
 
                client = 
cb.accept("text/s").acceptCharset("utf-8").contentType("text/p").build();
                is = client.doPut(url+"?Content-Type=text/p", new 
StringReader("foo")).getInputStream();
-               r = IOUtils.read(new InputStreamReader(is, "utf-8"));
+               r = read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
@@ -88,7 +88,7 @@ public class CharsetEncodingsTest extends RestTestcase {
 
                client = 
cb.accept("text/s").contentType("text/bad").acceptCharset("utf-8").build();
                is = client.doPut(url+"?Content-Type=text/p;charset=utf-8", new 
StringReader("foo")).getInputStream();
-               r = IOUtils.read(new InputStreamReader(is, "utf-8"));
+               r = read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
@@ -97,7 +97,7 @@ public class CharsetEncodingsTest extends RestTestcase {
                try {
                        client = 
cb.accept("text/s").contentType("text/p").acceptCharset("utf-8").build();
                        is = 
client.doPut(url+"?Content-Type=text/p;charset=BAD&noTrace=true", new 
StringReader("foo")).getInputStream();
-                       r = IOUtils.read(new InputStreamReader(is, "utf-8"));
+                       r = read(new InputStreamReader(is, "utf-8"));
                        if (debug) System.err.println(r);
                        assertEquals("utf-8/foo/utf-8", r);
                        fail("Exception expected");

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
index d52425d..9c186f3 100644
--- a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
+++ b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
@@ -12,11 +12,11 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
 import org.apache.juneau.ini.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -52,6 +52,6 @@ public class ConfigTest extends RestTestcase {
        }
 
        private String getName(Class<?> c) {
-               return StringUtils.urlEncode(c.getName());
+               return urlEncode(c.getName());
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
index ae67a25..1db53ad 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
@@ -12,9 +12,9 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.StringUtils.*;
 import static org.junit.Assert.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.plaintext.*;
 import org.apache.juneau.rest.client.*;
@@ -281,7 +281,7 @@ public class ContentTest extends RestTestcase {
                //      public TreeMap<String,String> testMap(@Body 
TreeMap<String,String> m) {
                //              return m;
                //      }
-               r = c.doPost(URL + "/Map?body=" + encode("{a:'b',c:'d'}") + 
"&Content-Type=text/json", null).getResponseAsString();
+               r = c.doPost(URL + "/Map?body=" + urlEncode("{a:'b',c:'d'}") + 
"&Content-Type=text/json", null).getResponseAsString();
                assertEquals("{a:'b',c:'d'}", r);
                r = c.doPost(URL + "/Map?body=null&Content-Type=text/json", 
null).getResponseAsString();
                assertEquals("null", r);
@@ -297,7 +297,7 @@ public class ContentTest extends RestTestcase {
                //              return b;
                //      }
                DTOs.B b = DTOs.B.create();
-               r = c.doPost(URL + "/B?body=" + 
encode(JsonSerializer.DEFAULT_LAX.serialize(b)) + "&Content-Type=text/json", 
null).getResponseAsString();
+               r = c.doPost(URL + "/B?body=" + 
urlEncode(JsonSerializer.DEFAULT_LAX.serialize(b)) + "&Content-Type=text/json", 
null).getResponseAsString();
                
assertEquals("{f01:['a','b'],f02:['c','d'],f03:[1,2],f04:[3,4],f05:[['e','f'],['g','h']],f06:[['i','j'],['k','l']],f07:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f08:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f09:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f10:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f11:['a','b'],f12:['c','d'],f13:[1,2],f14:[3,4],f15:[['e','f'],['g','h']],f16:[['i','j'],['k','l']],f17:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f18:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f19:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f20:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]]}",
 r);
 
                //      @RestMethod(name="POST", path="/C")
@@ -305,7 +305,7 @@ public class ContentTest extends RestTestcase {
                //              return c;
                //      }
                DTOs.C x = DTOs.C.create();
-               r = c.doPost(URL + "/C?body=" + 
encode(JsonSerializer.DEFAULT_LAX.serialize(x)) + "&Content-Type=text/json", 
null).getResponseAsString();
+               r = c.doPost(URL + "/C?body=" + 
urlEncode(JsonSerializer.DEFAULT_LAX.serialize(x)) + "&Content-Type=text/json", 
null).getResponseAsString();
                
assertEquals("{f01:['a','b'],f02:['c','d'],f03:[1,2],f04:[3,4],f05:[['e','f'],['g','h']],f06:[['i','j'],['k','l']],f07:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f08:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f09:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f10:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f11:['a','b'],f12:['c','d'],f13:[1,2],f14:[3,4],f15:[['e','f'],['g','h']],f16:[['i','j'],['k','l']],f17:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f18:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f19:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f20:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]]}",
 r);
 
                c.closeQuietly();
@@ -447,9 +447,4 @@ public class ContentTest extends RestTestcase {
 
                c.closeQuietly();
        }
-
-
-       private String encode(String s) {
-               return StringUtils.urlEncode(s);
-       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
index 26e0a05..22cb80f 100644
--- a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
+++ b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.rest.test;
 
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
@@ -20,7 +21,6 @@ import java.io.*;
 import java.util.zip.*;
 
 import org.apache.http.impl.client.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -48,7 +48,7 @@ public class GzipTest extends RestTestcase {
        }
 
        private static String decompress(InputStream is) throws Exception {
-               return IOUtils.read(new GZIPInputStream(is));
+               return read(new GZIPInputStream(is));
        }
 
        
//====================================================================================================

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RequestBeanProxyTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RequestBeanProxyTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RequestBeanProxyTest.java
index 5f587b5..a604066 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RequestBeanProxyTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RequestBeanProxyTest.java
@@ -12,13 +12,14 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 import static org.junit.Assert.*;
 
 import java.io.*;
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.plaintext.*;
 import org.apache.juneau.remoteable.*;
 import org.apache.juneau.rest.client.*;
@@ -1993,9 +1994,9 @@ public class RequestBeanProxyTest extends RestTestcase {
                        if (value == null)
                                return "NULL";
                        if (value instanceof Collection)
-                               return StringUtils.join((Collection<?>)value, 
"X");
-                       if (ArrayUtils.isArray(value))
-                               return 
StringUtils.join(ArrayUtils.toList(value, Object.class), "X");
+                               return join((Collection<?>)value, "X");
+                       if (isArray(value))
+                               return join(toList(value, Object.class), "X");
                        return "x" + value + "x";
                }
        }
@@ -2006,9 +2007,9 @@ public class RequestBeanProxyTest extends RestTestcase {
                        if (value == null)
                                return "NULL";
                        if (value instanceof Collection)
-                               return StringUtils.join((Collection<?>)value, 
'|');
-                       if (ArrayUtils.isArray(value))
-                               return 
StringUtils.join(ArrayUtils.toList(value, Object.class), "|");
+                               return join((Collection<?>)value, '|');
+                       if (isArray(value))
+                               return join(toList(value, Object.class), "|");
                        return "?" + value + "?";
                }
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RestUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RestUtilsTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RestUtilsTest.java
index d9d3341..9a210f9 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RestUtilsTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/RestUtilsTest.java
@@ -12,10 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.rest.RestUtils.*;
 import static org.junit.Assert.*;
 
-import org.apache.juneau.internal.*;
 import org.junit.*;
 
 public class RestUtilsTest extends RestTestcase {
@@ -25,8 +25,8 @@ public class RestUtilsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testDecode() throws Exception {
-               assertNull(StringUtils.urlDecode(null));
-               assertEquals("foo/bar baz  bing", 
StringUtils.urlDecode("foo%2Fbar+baz++bing"));
+               assertNull(urlDecode(null));
+               assertEquals("foo/bar baz  bing", 
urlDecode("foo%2Fbar+baz++bing"));
        }
 
        
//====================================================================================================
@@ -34,11 +34,11 @@ public class RestUtilsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testEncode() throws Exception {
-               assertNull(StringUtils.urlEncode(null));
-               assertEquals("foo%2Fbar+baz++bing", 
StringUtils.urlEncode("foo/bar baz  bing"));
-               assertEquals("foobar", StringUtils.urlEncode("foobar"));
-               assertEquals("+", StringUtils.urlEncode(" "));
-               assertEquals("%2F", StringUtils.urlEncode("/"));
+               assertNull(urlEncode(null));
+               assertEquals("foo%2Fbar+baz++bing", urlEncode("foo/bar baz  
bing"));
+               assertEquals("foobar", urlEncode("foobar"));
+               assertEquals("+", urlEncode(" "));
+               assertEquals("%2F", urlEncode("/"));
        }
 
        
//====================================================================================================
@@ -147,14 +147,14 @@ public class RestUtilsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testTrimSlashes() throws Exception {
-               assertNull(StringUtils.trimSlashes(null));
-               assertEquals("", StringUtils.trimSlashes(""));
-               assertEquals("", StringUtils.trimSlashes("/"));
-               assertEquals("", StringUtils.trimSlashes("//"));
-               assertEquals("foo/bar", StringUtils.trimSlashes("foo/bar"));
-               assertEquals("foo/bar", StringUtils.trimSlashes("foo/bar//"));
-               assertEquals("foo/bar", StringUtils.trimSlashes("/foo/bar//"));
-               assertEquals("foo/bar", StringUtils.trimSlashes("//foo/bar//"));
+               assertNull(trimSlashes(null));
+               assertEquals("", trimSlashes(""));
+               assertEquals("", trimSlashes("/"));
+               assertEquals("", trimSlashes("//"));
+               assertEquals("foo/bar", trimSlashes("foo/bar"));
+               assertEquals("foo/bar", trimSlashes("foo/bar//"));
+               assertEquals("foo/bar", trimSlashes("/foo/bar//"));
+               assertEquals("foo/bar", trimSlashes("//foo/bar//"));
        }
 
        
//====================================================================================================
@@ -162,14 +162,14 @@ public class RestUtilsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testTrimTrailingSlashes() throws Exception {
-               assertNull(StringUtils.trimTrailingSlashes((String)null));
-               assertEquals("", StringUtils.trimTrailingSlashes(""));
-               assertEquals("", StringUtils.trimTrailingSlashes("/"));
-               assertEquals("", StringUtils.trimTrailingSlashes("//"));
-               assertEquals("foo/bar", 
StringUtils.trimTrailingSlashes("foo/bar"));
-               assertEquals("foo/bar", 
StringUtils.trimTrailingSlashes("foo/bar//"));
-               assertEquals("/foo/bar", 
StringUtils.trimTrailingSlashes("/foo/bar//"));
-               assertEquals("//foo/bar", 
StringUtils.trimTrailingSlashes("//foo/bar//"));
+               assertNull(trimTrailingSlashes((String)null));
+               assertEquals("", trimTrailingSlashes(""));
+               assertEquals("", trimTrailingSlashes("/"));
+               assertEquals("", trimTrailingSlashes("//"));
+               assertEquals("foo/bar", trimTrailingSlashes("foo/bar"));
+               assertEquals("foo/bar", trimTrailingSlashes("foo/bar//"));
+               assertEquals("/foo/bar", trimTrailingSlashes("/foo/bar//"));
+               assertEquals("//foo/bar", trimTrailingSlashes("//foo/bar//"));
        }
 
        
//====================================================================================================
@@ -177,13 +177,13 @@ public class RestUtilsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testTrimTrailingSlashes2() throws Exception {
-               assertNull(StringUtils.trimTrailingSlashes((StringBuffer)null));
-               assertEquals("", StringUtils.trimTrailingSlashes(new 
StringBuffer("")).toString());
-               assertEquals("", StringUtils.trimTrailingSlashes(new 
StringBuffer("/")).toString());
-               assertEquals("", StringUtils.trimTrailingSlashes(new 
StringBuffer("//")).toString());
-               assertEquals("foo/bar", StringUtils.trimTrailingSlashes(new 
StringBuffer("foo/bar")).toString());
-               assertEquals("foo/bar", StringUtils.trimTrailingSlashes(new 
StringBuffer("foo/bar//")).toString());
-               assertEquals("/foo/bar", StringUtils.trimTrailingSlashes(new 
StringBuffer("/foo/bar//")).toString());
-               assertEquals("//foo/bar", StringUtils.trimTrailingSlashes(new 
StringBuffer("//foo/bar//")).toString());
+               assertNull(trimTrailingSlashes((StringBuffer)null));
+               assertEquals("", trimTrailingSlashes(new 
StringBuffer("")).toString());
+               assertEquals("", trimTrailingSlashes(new 
StringBuffer("/")).toString());
+               assertEquals("", trimTrailingSlashes(new 
StringBuffer("//")).toString());
+               assertEquals("foo/bar", trimTrailingSlashes(new 
StringBuffer("foo/bar")).toString());
+               assertEquals("foo/bar", trimTrailingSlashes(new 
StringBuffer("foo/bar//")).toString());
+               assertEquals("/foo/bar", trimTrailingSlashes(new 
StringBuffer("/foo/bar//")).toString());
+               assertEquals("//foo/bar", trimTrailingSlashes(new 
StringBuffer("//foo/bar//")).toString());
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
index caf0894..efb827c 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
@@ -14,12 +14,13 @@ package org.apache.juneau.rest;
 
 import static javax.servlet.http.HttpServletResponse.*;
 import static org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.Utils.*;
 import static org.apache.juneau.rest.RestContext.*;
 import static org.apache.juneau.rest.annotation.Inherit.*;
 
 import java.lang.annotation.*;
 import java.lang.reflect.*;
-import java.lang.reflect.Method;
 import java.util.*;
 
 import javax.servlet.http.*;
@@ -28,7 +29,6 @@ import org.apache.juneau.*;
 import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.html.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.rest.annotation.*;
@@ -179,20 +179,20 @@ class CallMethod implements Comparable<CallMethod>  {
                                String p = m.path();
                                converters = new 
RestConverter[m.converters().length];
                                for (int i = 0; i < converters.length; i++)
-                                       converters[i] = 
m.converters()[i].newInstance();
+                                       converters[i] = 
newInstance(RestConverter.class, m.converters()[i]);
 
                                guards = new RestGuard[m.guards().length];
                                for (int i = 0; i < guards.length; i++)
-                                       guards[i] = m.guards()[i].newInstance();
+                                       guards[i] = 
newInstance(RestGuard.class, m.guards()[i]);
 
                                List<RestMatcher> optionalMatchers = new 
LinkedList<RestMatcher>(), requiredMatchers = new LinkedList<RestMatcher>();
                                for (int i = 0; i < m.matchers().length; i++) {
                                        Class<? extends RestMatcher> c = 
m.matchers()[i];
                                        RestMatcher matcher = null;
-                                       if 
(ClassUtils.isParentClass(RestMatcherReflecting.class, c))
-                                               matcher = 
c.getConstructor(Object.class, Method.class).newInstance(servlet, method);
+                                       if 
(isParentClass(RestMatcherReflecting.class, c))
+                                               matcher = 
newInstance(RestMatcherReflecting.class, c, servlet, method);
                                        else
-                                               matcher = c.newInstance();
+                                               matcher = 
newInstance(RestMatcher.class, c);
                                        if (matcher.mustMatch())
                                                requiredMatchers.add(matcher);
                                        else
@@ -758,7 +758,7 @@ class CallMethod implements Comparable<CallMethod>  {
                } catch (IllegalArgumentException e) {
                        throw new RestException(SC_BAD_REQUEST,
                                "Invalid argument type passed to the following 
method: ''{0}''.\n\tArgument types: {1}",
-                               method.toString(), 
ClassUtils.getReadableClassNames(args)
+                               method.toString(), getReadableClassNames(args)
                        );
                } catch (InvocationTargetException e) {
                        Throwable e2 = e.getTargetException();          // Get 
the throwable thrown from the doX() method.
@@ -860,15 +860,15 @@ class CallMethod implements Comparable<CallMethod>  {
                if (c != 0)
                        return c;
 
-               c = Utils.compare(o.requiredMatchers.length, 
requiredMatchers.length);
+               c = compare(o.requiredMatchers.length, requiredMatchers.length);
                if (c != 0)
                        return c;
 
-               c = Utils.compare(o.optionalMatchers.length, 
optionalMatchers.length);
+               c = compare(o.optionalMatchers.length, optionalMatchers.length);
                if (c != 0)
                        return c;
 
-               c = Utils.compare(o.guards.length, guards.length);
+               c = compare(o.guards.length, guards.length);
                if (c != 0)
                        return c;
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/ClientVersionMatcher.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/ClientVersionMatcher.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/ClientVersionMatcher.java
index ccf4dd1..891cda5 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/ClientVersionMatcher.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/ClientVersionMatcher.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.StringUtils.*;
+
 import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.annotation.*;
 
@@ -33,7 +35,7 @@ public class ClientVersionMatcher extends RestMatcher {
         * @param javaMethod The version string that the client version must 
match.
         */
        protected ClientVersionMatcher(String clientVersionHeader, 
java.lang.reflect.Method javaMethod) {
-               this.clientVersionHeader = 
StringUtils.isEmpty(clientVersionHeader) ? "X-Client-Version" : 
clientVersionHeader;
+               this.clientVersionHeader = isEmpty(clientVersionHeader) ? 
"X-Client-Version" : clientVersionHeader;
                RestMethod m = javaMethod.getAnnotation(RestMethod.class);
                range = new VersionRange(m.clientVersion());
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java
index e4da074..bed46f1 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 import java.util.*;
 
@@ -84,11 +86,11 @@ public class ReaderResource implements Writable {
                        if (c == null)
                                this.contents[i] = "";
                        else if (c instanceof InputStream)
-                               this.contents[i] = IOUtils.read((InputStream)c);
+                               this.contents[i] = read((InputStream)c);
                        else if (c instanceof File)
-                               this.contents[i] = IOUtils.read((File)c);
+                               this.contents[i] = read((File)c);
                        else if (c instanceof Reader)
-                               this.contents[i] = IOUtils.read((Reader)c);
+                               this.contents[i] = read((Reader)c);
                        else if (c instanceof CharSequence)
                                this.contents[i] = ((CharSequence)c).toString();
                        else

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java
index e5fb2bb..80fe80a 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.rest;
 
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -206,8 +207,8 @@ public class RequestBody {
         */
        public String asString() throws IOException {
                if (body == null)
-                       body = IOUtils.readBytes(getInputStream(), 1024);
-               return new String(body, IOUtils.UTF8);
+                       body = readBytes(getInputStream(), 1024);
+               return new String(body, UTF8);
        }
 
        /**
@@ -218,8 +219,8 @@ public class RequestBody {
         */
        public String asHex() throws IOException {
                if (body == null)
-                       body = IOUtils.readBytes(getInputStream(), 1024);
-               return StringUtils.toHex(body);
+                       body = readBytes(getInputStream(), 1024);
+               return toHex(body);
        }
 
        /**
@@ -249,7 +250,7 @@ public class RequestBody {
         */
        protected Reader getUnbufferedReader() throws IOException {
                if (body != null)
-                       return new CharSequenceReader(new String(body, 
IOUtils.UTF8));
+                       return new CharSequenceReader(new String(body, UTF8));
                return new InputStreamReader(getInputStream(), 
req.getCharacterEncoding());
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java
index 453bb8b..df0b1ab 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+
 import java.lang.reflect.*;
 import java.util.*;
 
@@ -267,7 +269,7 @@ public class RequestFormData extends 
LinkedHashMap<String,String[]> {
                        List c = new ArrayList();
                        for (int i = 0; i < p.length; i++)
                                c.add(parseValue(p[i], cm.getElementType()));
-                       return (T)ArrayUtils.toArray(c, 
cm.getElementType().getInnerClass());
+                       return (T)toArray(c, 
cm.getElementType().getInnerClass());
                } else if (cm.isCollection()) {
                        try {
                                Collection c = 
(Collection)(cm.canCreateNewInstance() ? cm.newInstance() : new ObjectList());

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java
index cc0709d..1094160 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java
@@ -12,6 +12,9 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
+
 import java.lang.reflect.*;
 import java.util.*;
 
@@ -87,7 +90,7 @@ public class RequestHeaders extends TreeMap<String,String[]> {
                        String v = values.nextElement();
                        String[] s = new String[]{v};
                        while (values.hasMoreElements())
-                               s = ArrayUtils.append(s, values.nextElement());
+                               s = append(s, values.nextElement());
                        put(name, s);
                }
                return this;
@@ -223,7 +226,7 @@ public class RequestHeaders extends 
TreeMap<String,String[]> {
         * @return A new headers object.
         */
        public RequestHeaders subset(String headers) {
-               return subset(StringUtils.split(headers, ','));
+               return subset(split(headers, ','));
        }
 
        /**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java
index 593c900..366fc1c 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.ArrayUtils.*;
+
 import java.lang.reflect.*;
 import java.util.*;
 
@@ -285,7 +287,7 @@ public final class RequestQuery extends 
LinkedHashMap<String,String[]> {
                        List c = new ArrayList();
                        for (int i = 0; i < p.length; i++)
                                c.add(parseValue(p[i], cm.getElementType()));
-                       return (T)ArrayUtils.toArray(c, 
cm.getElementType().getInnerClass());
+                       return (T)toArray(c, 
cm.getElementType().getInnerClass());
                } else if (cm.isCollection()) {
                        try {
                                Collection c = 
(Collection)(cm.canCreateNewInstance() ? cm.newInstance() : new ObjectList());

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java
index 99a051c..d60c489 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java
@@ -14,6 +14,7 @@ package org.apache.juneau.rest;
 
 import static java.util.logging.Level.*;
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -22,7 +23,6 @@ import java.util.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.vars.*;
 
@@ -284,7 +284,7 @@ public class RestCallHandler {
                try {
                        w = res.getWriter();
                } catch (IllegalStateException e2) {
-                       w = new PrintWriter(new 
OutputStreamWriter(res.getOutputStream(), IOUtils.UTF8));
+                       w = new PrintWriter(new 
OutputStreamWriter(res.getOutputStream(), UTF8));
                }
                String httpMessage = RestUtils.getHttpResponseText(status);
                if (httpMessage != null)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
index 8576e18..8d35327 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
@@ -13,6 +13,8 @@
 package org.apache.juneau.rest;
 
 import static org.apache.juneau.internal.ArrayUtils.*;
+import static org.apache.juneau.internal.ReflectionUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
 import java.util.*;
@@ -137,7 +139,7 @@ public class RestConfig implements ServletConfig {
 
                        VarResolver vr = varResolverBuilder.build();
 
-                       Map<Class<?>,RestResource> 
restResourceAnnotationsParentFirst = 
ReflectionUtils.findAnnotationsMapParentFirst(RestResource.class, 
resourceClass);
+                       Map<Class<?>,RestResource> 
restResourceAnnotationsParentFirst = 
findAnnotationsMapParentFirst(RestResource.class, resourceClass);
 
                        // Find our config file.  It's the last non-empty 
@RestResource.config().
                        String configPath = "";
@@ -994,7 +996,7 @@ public class RestConfig implements ServletConfig {
         * @return This object (for method chaining).
         */
        public RestConfig setPath(String path) {
-               if (StringUtils.startsWith(path, '/'))
+               if (startsWith(path, '/'))
                        path = path.substring(1);
                this.path = path;
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
index 779a1e4..62aca6c 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -13,6 +13,11 @@
 package org.apache.juneau.rest;
 
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.ArrayUtils.*;
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.FileUtils.*;
+import static org.apache.juneau.internal.IOUtils.*;
+import static org.apache.juneau.internal.ReflectionUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -375,15 +380,15 @@ public final class RestContext extends Context {
                        this.urlEncodingSerializer = b.urlEncodingSerializer;
                        this.urlEncodingParser = b.urlEncodingParser;
                        this.encoders = b.encoders;
-                       this.supportedContentTypes = 
ArrayUtils.toObjectArray(b.supportedContentTypes, MediaType.class);
-                       this.supportedAcceptTypes = 
ArrayUtils.toObjectArray(b.supportedAcceptTypes, MediaType.class);
+                       this.supportedContentTypes = 
toObjectArray(b.supportedContentTypes, MediaType.class);
+                       this.supportedAcceptTypes = 
toObjectArray(b.supportedAcceptTypes, MediaType.class);
                        this.clientVersionHeader = b.clientVersionHeader;
                        this.defaultRequestHeaders = 
Collections.unmodifiableMap(b.defaultRequestHeaders);
                        this.defaultResponseHeaders = 
Collections.unmodifiableMap(b.defaultResponseHeaders);
                        this.beanContext = b.beanContext;
                        this.converters = b.converters.toArray(new 
RestConverter[b.converters.size()]);
                        this.guards = b.guards.toArray(new 
RestGuard[b.guards.size()]);
-                       this.responseHandlers = 
ArrayUtils.toObjectArray(b.responseHandlers, ResponseHandler.class);
+                       this.responseHandlers = 
toObjectArray(b.responseHandlers, ResponseHandler.class);
                        this.mimetypesFileTypeMap = b.mimetypesFileTypeMap;
                        this.styleSheet = b.styleSheet;
                        this.favIcon = b.favIcon;
@@ -423,7 +428,7 @@ public final class RestContext extends Context {
                                                        final ClassMeta<?> 
interfaceClass = beanContext.getClassMeta(method.getGenericReturnType());
                                                        final 
Map<String,Method> remoteableMethods = interfaceClass.getRemoteableMethods();
                                                        if 
(remoteableMethods.isEmpty())
-                                                               throw new 
RestException(SC_INTERNAL_SERVER_ERROR, "Method {0} returns an interface {1} 
that doesn't define any remoteable methods.", 
ClassUtils.getMethodSignature(method), interfaceClass.getReadableName());
+                                                               throw new 
RestException(SC_INTERNAL_SERVER_ERROR, "Method {0} returns an interface {1} 
that doesn't define any remoteable methods.", getMethodSignature(method), 
interfaceClass.getReadableName());
 
                                                        sm = new 
CallMethod(resource, method, this) {
 
@@ -437,7 +442,7 @@ public final class RestContext extends Context {
                                                                        final 
Object o = res.getOutput();
 
                                                                        if 
("GET".equals(req.getMethod())) {
-                                                                               
res.setOutput(ClassUtils.getMethodInfo(remoteableMethods.values()));
+                                                                               
res.setOutput(getMethodInfo(remoteableMethods.values()));
                                                                                
return SC_OK;
 
                                                                        } else 
if ("POST".equals(req.getMethod())) {
@@ -517,14 +522,14 @@ public final class RestContext extends Context {
                                } else {
 
                                        // Call the init(RestConfig) method.
-                                       java.lang.reflect.Method m2 = 
ClassUtils.findPublicMethod(r.getClass(), "init", Void.class, RestConfig.class);
+                                       java.lang.reflect.Method m2 = 
findPublicMethod(r.getClass(), "init", Void.class, RestConfig.class);
                                        if (m2 != null)
                                                m2.invoke(r, childConfig);
 
                                        RestContext rc2 = new RestContext(r, 
childConfig);
 
                                        // Call the init(RestContext) method.
-                                       m2 = 
ClassUtils.findPublicMethod(r.getClass(), "init", Void.class, 
RestContext.class);
+                                       m2 = findPublicMethod(r.getClass(), 
"init", Void.class, RestContext.class);
                                        if (m2 != null)
                                                m2.invoke(r, rc2);
 
@@ -589,7 +594,7 @@ public final class RestContext extends Context {
 
                        PropertyStore ps = sc.createPropertyStore();
 
-                       LinkedHashMap<Class<?>,RestResource> 
restResourceAnnotationsChildFirst = 
ReflectionUtils.findAnnotationsMap(RestResource.class, resource.getClass());
+                       LinkedHashMap<Class<?>,RestResource> 
restResourceAnnotationsChildFirst = findAnnotationsMap(RestResource.class, 
resource.getClass());
 
                        allowHeaderParams = 
ps.getProperty(REST_allowHeaderParams, boolean.class, true);
                        allowBodyParam = ps.getProperty(REST_allowBodyParam, 
boolean.class, true);
@@ -612,11 +617,11 @@ public final class RestContext extends Context {
                        properties = sc.properties;
                        Collections.reverse(sc.beanFilters);
                        Collections.reverse(sc.pojoSwaps);
-                       beanFilters = ArrayUtils.toObjectArray(sc.beanFilters, 
Class.class);
-                       pojoSwaps = ArrayUtils.toObjectArray(sc.pojoSwaps, 
Class.class);
+                       beanFilters = toObjectArray(sc.beanFilters, 
Class.class);
+                       pojoSwaps = toObjectArray(sc.pojoSwaps, Class.class);
 
                        for (Class<?> c : sc.paramResolvers) {
-                               RestParam rp = (RestParam)c.newInstance();
+                               RestParam rp = newInstance(RestParam.class, c);
                                paramResolvers.put(rp.forClass(), rp);
                        }
 
@@ -674,7 +679,7 @@ public final class RestContext extends Context {
                                                        else
                                                                
contents.add(ReflectionUtils.getResource(p.first(), path));
                                        } else {
-                                               
contents.add(IOUtils.toInputStream(o));
+                                               contents.add(toInputStream(o));
                                        }
                                }
                                styleSheet = new 
StreamResource(MediaType.forString("text/css"), contents.toArray());
@@ -687,7 +692,7 @@ public final class RestContext extends Context {
                                        Pair<Class<?>,String> p = 
(Pair<Class<?>,String>)o;
                                        is = 
ReflectionUtils.getResource(p.first(), vr.resolve(p.second()));
                                } else {
-                                       is = IOUtils.toInputStream(o);
+                                       is = toInputStream(o);
                                }
                                if (is != null)
                                        favIcon = new 
StreamResource(MediaType.forString("image/x-icon"), is);
@@ -844,9 +849,9 @@ public final class RestContext extends Context {
        protected InputStream getResource(String name, Locale locale) throws 
IOException {
                String n = (locale == null || locale.toString().isEmpty() ? 
name : name + '|' + locale);
                if (! resourceStreams.containsKey(n)) {
-                       InputStream is = 
ReflectionUtils.getLocalizedResource(resource.getClass(), name, locale);
+                       InputStream is = 
getLocalizedResource(resource.getClass(), name, locale);
                        if (is == null && name.indexOf("..") == -1) {
-                               for (String n2 : 
FileUtils.getCandidateFileNames(name, locale)) {
+                               for (String n2 : getCandidateFileNames(name, 
locale)) {
                                        File f = new File(n2);
                                        if (f.exists() && f.canRead()) {
                                                is = new FileInputStream(f);
@@ -877,7 +882,7 @@ public final class RestContext extends Context {
        public String getResourceAsString(String name, Locale locale) throws 
IOException {
                String n = (locale == null || locale.toString().isEmpty() ? 
name : name + '|' + locale);
                if (! resourceStrings.containsKey(n)) {
-                       String s = IOUtils.read(getResource(name, locale));
+                       String s = read(getResource(name, locale));
                        if (s == null)
                                throw new IOException("Resource '"+name+"' not 
found.");
                        resourceStrings.put(n, s);
@@ -908,7 +913,7 @@ public final class RestContext extends Context {
                        if (p != null) {
                                try {
                                        if (p.isReaderParser())
-                                               return p.parse(new 
InputStreamReader(is, IOUtils.UTF8), c);
+                                               return p.parse(new 
InputStreamReader(is, UTF8), c);
                                        return p.parse(is, c);
                                } catch (ParseException e) {
                                        throw new ServletException("Could not 
parse resource '' as media type '"+mediaType+"'.");
@@ -1332,7 +1337,7 @@ public final class RestContext extends Context {
                                        // Check for {#} variables.
                                        String idxs = String.valueOf(idx);
                                        for (int j = 0; j < vars.length; j++)
-                                               if 
(StringUtils.isNumeric(vars[j]) && vars[j].equals(idxs))
+                                               if (isNumeric(vars[j]) && 
vars[j].equals(idxs))
                                                        name = vars[j];
 
                                        if (name.isEmpty())
@@ -1606,9 +1611,9 @@ public final class RestContext extends Context {
                        return (T)o;
                if (! (o instanceof Class))
                        throw new RestServletException("Invalid object type 
passed to resolve:  ''{0}''.  Must be an object of type T or a Class<? extend 
T>.", o.getClass());
-               Constructor<T> n = 
ClassUtils.findPublicConstructor((Class<T>)o, cArgs);
+               Constructor<T> n = findPublicConstructor((Class<T>)o, cArgs);
                if (n == null)
-                       throw new RestServletException("Could not find public 
constructor for class ''{0}'' that takes in args {1}", c, 
JsonSerializer.DEFAULT_LAX.toString(ClassUtils.getClasses(cArgs)));
+                       throw new RestServletException("Could not find public 
constructor for class ''{0}'' that takes in args {1}", c, 
JsonSerializer.DEFAULT_LAX.toString(getClasses(cArgs)));
                try {
                        return n.newInstance(cArgs);
                } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RestInfoProvider.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RestInfoProvider.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestInfoProvider.java
index 84f5f9f..18488e6 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestInfoProvider.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestInfoProvider.java
@@ -14,13 +14,13 @@ package org.apache.juneau.rest;
 
 import static javax.servlet.http.HttpServletResponse.*;
 import static org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+import static org.apache.juneau.internal.ReflectionUtils.*;
 
 import java.util.*;
 import java.util.concurrent.*;
 
 import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.http.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.rest.annotation.*;
@@ -84,7 +84,7 @@ public class RestInfoProvider {
 
                Builder(RestContext context) {
 
-                       LinkedHashMap<Class<?>,RestResource> 
restResourceAnnotationsParentFirst = 
ReflectionUtils.findAnnotationsMapParentFirst(RestResource.class, 
context.getResource().getClass());
+                       LinkedHashMap<Class<?>,RestResource> 
restResourceAnnotationsParentFirst = 
findAnnotationsMapParentFirst(RestResource.class, 
context.getResource().getClass());
 
                        for (RestResource r : 
restResourceAnnotationsParentFirst.values()) {
                                if (! r.title().isEmpty())

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
index 5739ca1..5112e25 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -15,6 +15,7 @@ package org.apache.juneau.rest;
 import static java.util.Collections.*;
 import static java.util.logging.Level.*;
 import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -33,7 +34,6 @@ import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.http.*;
 import org.apache.juneau.ini.*;
-import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.svl.*;
@@ -130,7 +130,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                                String b = getQuery().getFirst("body");
                                if (b != null) {
                                        headers.put("Content-Type", 
UonSerializer.DEFAULT.getResponseContentType());
-                                       body.load(b.getBytes(IOUtils.UTF8));
+                                       body.load(b.getBytes(UTF8));
                                }
                        }
 
@@ -462,7 +462,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         */
        public UriContext getUriContext() {
                if (uriContext == null) {
-                       String authority = 
StringUtils.getAuthorityUri(super.getRequestURL().toString());
+                       String authority = 
getAuthorityUri(super.getRequestURL().toString());
                        uriContext = new UriContext(authority, 
super.getContextPath(), super.getServletPath(), super.getPathInfo());
                }
                return uriContext;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RestResourceResolver.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
index 7989eb9..ae8d9d3 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+
 import java.lang.reflect.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.annotation.*;
 
 /**
@@ -66,10 +67,10 @@ public class RestResourceResolver {
         */
        public Object resolve(Class<?> c, RestConfig config) throws 
RestServletException {
                try {
-                       Constructor<?> c1 = ClassUtils.findPublicConstructor(c, 
RestConfig.class);
+                       Constructor<?> c1 = findPublicConstructor(c, 
RestConfig.class);
                        if (c1 != null)
                                return c1.newInstance(config);
-                       c1 = ClassUtils.findPublicConstructor(c);
+                       c1 = findPublicConstructor(c);
                        if (c1 != null)
                                return c1.newInstance();
                } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/StreamResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/StreamResource.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/StreamResource.java
index 53e186c..525055d 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/StreamResource.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/StreamResource.java
@@ -12,6 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest;
 
+import static org.apache.juneau.internal.IOUtils.*;
+
 import java.io.*;
 import java.util.*;
 
@@ -88,13 +90,13 @@ public class StreamResource implements Streamable {
                        else if (c instanceof byte[])
                                this.contents[i] = (byte[])c;
                        else if (c instanceof InputStream)
-                               this.contents[i] = 
IOUtils.readBytes((InputStream)c, 1024);
+                               this.contents[i] = readBytes((InputStream)c, 
1024);
                        else if (c instanceof File)
-                               this.contents[i] = IOUtils.readBytes((File)c);
+                               this.contents[i] = readBytes((File)c);
                        else if (c instanceof Reader)
-                               this.contents[i] = 
IOUtils.read((Reader)c).getBytes(IOUtils.UTF8);
+                               this.contents[i] = 
read((Reader)c).getBytes(UTF8);
                        else if (c instanceof CharSequence)
-                               this.contents[i] = 
((CharSequence)c).toString().getBytes(IOUtils.UTF8);
+                               this.contents[i] = 
((CharSequence)c).toString().getBytes(UTF8);
                        else
                                throw new IOException("Invalid class type 
passed to StreamResource: " + c.getClass().getName());
                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java
 
b/juneau-rest/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java
index 499a834..0463e0e 100644
--- 
a/juneau-rest/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java
+++ 
b/juneau-rest/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.response;
 
+import static org.apache.juneau.internal.StringUtils.*;
+
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.*;
 
 /**
@@ -27,7 +28,7 @@ public final class RedirectHandler implements ResponseHandler 
{
                if (output instanceof Redirect) {
                        Redirect r = (Redirect)output;
                        String uri = r.toUrl(res.getUrlEncodingSerializer());
-                       if (StringUtils.isEmpty(uri))
+                       if (isEmpty(uri))
                                uri = req.getServletURI();
                        else {
                                char c = (uri.length() > 0 ? uri.charAt(0) : 0);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3bdc0d85/juneau-rest/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
 
b/juneau-rest/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
index a7af629..db22a53 100644
--- 
a/juneau-rest/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
+++ 
b/juneau-rest/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.vars;
 
+import static org.apache.juneau.internal.StringUtils.*;
+
 import java.io.*;
 
-import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.svl.*;
@@ -50,7 +51,7 @@ public class SerializedRequestAttrVar extends StreamedVar {
                        int i = key.indexOf(',');
                        if (i == -1)
                                throw new RuntimeException("Invalid format for 
$SA var.  Must be of the format $SA{contentType,key[,defaultValue]}");
-                       String[] s2 = StringUtils.split(key, ',');
+                       String[] s2 = split(key, ',');
                        RestRequest req = 
session.getSessionObject(RestRequest.class, RequestVar.SESSION_req);
                        if (req != null) {
                                Object o = req.getAttribute(key);

Reply via email to