diff --git a/core/src/main/java/io/grpc/inprocess/InProcessChannelBuilder.java b/core/src/main/java/io/grpc/inprocess/InProcessChannelBuilder.java
index d2d7ae3..37bf368 100644
--- a/core/src/main/java/io/grpc/inprocess/InProcessChannelBuilder.java
+++ b/core/src/main/java/io/grpc/inprocess/InProcessChannelBuilder.java
@@ -31,7 +31,7 @@
  * <p>The channel is intended to be fully-featured, high performance, and useful in testing.
  */
 @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1783")
-public class InProcessChannelBuilder extends
+public final class InProcessChannelBuilder extends
         AbstractManagedChannelImplBuilder<InProcessChannelBuilder> {
   /**
    * Create a channel builder that will connect to the server with the given name.
diff --git a/core/src/main/java/io/grpc/inprocess/InProcessServer.java b/core/src/main/java/io/grpc/inprocess/InProcessServer.java
index 6536d27..5b88ee5 100644
--- a/core/src/main/java/io/grpc/inprocess/InProcessServer.java
+++ b/core/src/main/java/io/grpc/inprocess/InProcessServer.java
@@ -25,7 +25,7 @@
 import javax.annotation.concurrent.ThreadSafe;
 
 @ThreadSafe
-class InProcessServer implements InternalServer {
+final class InProcessServer implements InternalServer {
   private static final ConcurrentMap<String, InProcessServer> registry
       = new ConcurrentHashMap<String, InProcessServer>();
 
diff --git a/core/src/main/java/io/grpc/inprocess/InProcessServerBuilder.java b/core/src/main/java/io/grpc/inprocess/InProcessServerBuilder.java
index 0ed32dc..cb5bcfa 100644
--- a/core/src/main/java/io/grpc/inprocess/InProcessServerBuilder.java
+++ b/core/src/main/java/io/grpc/inprocess/InProcessServerBuilder.java
@@ -31,7 +31,7 @@
  */
 @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1783")
 public final class InProcessServerBuilder
-        extends AbstractServerImplBuilder<InProcessServerBuilder> {
+    extends AbstractServerImplBuilder<InProcessServerBuilder> {
   /**
    * Create a server builder that will bind with the given name.
    *
diff --git a/core/src/main/java/io/grpc/inprocess/InProcessSocketAddress.java b/core/src/main/java/io/grpc/inprocess/InProcessSocketAddress.java
index 640eace..255be18 100644
--- a/core/src/main/java/io/grpc/inprocess/InProcessSocketAddress.java
+++ b/core/src/main/java/io/grpc/inprocess/InProcessSocketAddress.java
@@ -21,7 +21,7 @@
 /**
  * Custom SocketAddress class for {@link InProcessTransport}.
  */
-public class InProcessSocketAddress extends SocketAddress {
+public final class InProcessSocketAddress extends SocketAddress {
   private static final long serialVersionUID = -2803441206326023474L;
 
   private final String name;
diff --git a/core/src/main/java/io/grpc/inprocess/InProcessTransport.java b/core/src/main/java/io/grpc/inprocess/InProcessTransport.java
index 9c942f4..0fab5c2 100644
--- a/core/src/main/java/io/grpc/inprocess/InProcessTransport.java
+++ b/core/src/main/java/io/grpc/inprocess/InProcessTransport.java
@@ -51,7 +51,7 @@
 import javax.annotation.concurrent.ThreadSafe;
 
 @ThreadSafe
-class InProcessTransport implements ServerTransport, ConnectionClientTransport {
+final class InProcessTransport implements ServerTransport, ConnectionClientTransport {
   private static final Logger log = Logger.getLogger(InProcessTransport.class.getName());
 
   private final LogId logId = LogId.allocate(getClass().getName());
