Buggy code:
public class DomainControllerClientOperationHandler extends AbstractMessageHandler implements ManagementOperationHandler , Service < DomainControllerClientOperationHandler > { private static final MarshallingConfiguration CONFIG ; private static final Logger log = Logger . getLogger ( "org.jboss.as.management" ) ; public static final ServiceName SERVICE_NAME = DomainController . SERVICE_NAME . append ( "client" , "operation" , "handler" ) ; private final InjectedValue < DomainController > domainControllerValue = new InjectedValue < DomainController > ( ) ; private DomainController domainController ; public final byte getIdentifier ( ) { } public synchronized void start ( StartContext context ) throws StartException { } public synchronized void stop ( StopContext context ) { } public synchronized DomainControllerClientOperationHandler getValue ( ) throws IllegalStateException { } public Injector < DomainController > getDomainControllerInjector ( ) { } @ Override public void handle ( final Connection connection , final InputStream input ) throws IOException { } private AbstractMessageHandler operationFor ( final byte commandByte ) { } private class GetDomainOperation extends ManagementResponse { @ Override protected final byte getResponseCode ( ) { } @ Override protected void sendResponse ( final OutputStream outputStream ) throws IOException { final Marshaller marshaller = DomainControllerClientOperationHandler . getMarshaller ( ) ; marshaller . start ( createByteOutput ( outputStream ) ) ; marshaller . writeByte ( RETURN_DOMAIN_MODEL ) ; marshaller . writeObject ( domainController . getDomainModel ( ) ) ; marshaller . finish ( ) ; } } private class GetServerManagerNamesOperation extends ManagementResponse { @ Override protected final byte getResponseCode ( ) { } @ Override protected void sendResponse ( final OutputStream outputStream ) throws IOException { final Marshaller marshaller = DomainControllerClientOperationHandler . getMarshaller ( ) ; marshaller . start ( createByteOutput ( outputStream ) ) ; Set < String > serverManagerNames = domainController . getServerManagerNames ( ) ; marshaller . writeByte ( RETURN_SERVER_MANAGER_COUNT ) ; marshaller . writeInt ( serverManagerNames . size ( ) ) ; for ( String name : serverManagerNames ) { <START_BUG> marshaller . writeByte ( PARAM_HOST_NAME ) ; <END_BUG> marshaller . writeUTF ( name ) ; } marshaller . finish ( ) ; } } private class GetHostModelOperation extends ManagementResponse { private String serverManagerName ; @ Override protected final byte getResponseCode ( ) { } @ Override protected final void readRequest ( final InputStream inputStream ) throws IOException { } @ Override protected void sendResponse ( final OutputStream outputStream ) throws IOException { final Marshaller marshaller = DomainControllerClientOperationHandler . getMarshaller ( ) ; marshaller . start ( createByteOutput ( outputStream ) ) ; marshaller . writeByte ( RETURN_HOST_MODEL ) ; marshaller . writeObject ( domainController . getHostModel ( serverManagerName ) ) ; marshaller . finish ( ) ; } } private class GetServerStatusesOperation extends ManagementResponse { @ Override protected final byte getResponseCode ( ) { } @ Override protected void sendResponse ( final OutputStream outputStream ) throws IOException { Map < ServerIdentity , ServerStatus > statuses = domainController . getServerStatuses ( ) ; final Marshaller marshaller = DomainControllerClientOperationHandler . getMarshaller ( ) ; marshaller . start ( createByteOutput ( outputStream ) ) ; marshaller . writeByte ( RETURN_SERVER_STATUS_COUNT ) ; marshaller . writeInt ( statuses . size ( ) ) ; for ( Map . Entry < ServerIdentity , ServerStatus > entry : statuses . entrySet ( ) ) { ServerIdentity id = entry . getKey ( ) ; marshaller . writeByte ( RETURN_HOST_NAME ) ; marshaller . writeUTF ( id . getHostName ( ) ) ; marshaller . writeByte ( RETURN_SERVER_GROUP_NAME ) ; marshaller . writeUTF ( id . getServerGroupName ( ) ) ; marshaller . writeByte ( RETURN_SERVER_NAME ) ; marshaller . writeUTF ( id . getServerName ( ) ) ; marshaller . writeByte ( RETURN_SERVER_STATUS ) ; marshaller . writeObject ( entry . getValue ( ) ) ; } marshaller . finish ( ) ; } } private class GetServerModelOperation extends ManagementResponse { private String serverManagerName ; private String serverName ; @ Override protected final byte getResponseCode ( ) { } @ Override protected final void readRequest ( final InputStream inputStream ) throws IOException { } @ Override protected void sendResponse ( final OutputStream outputStream ) throws IOException { ServerModel serverModel = domainController . getServerModel ( serverManagerName , serverName ) ; final Marshaller marshaller = DomainControllerClientOperationHandler . getMarshaller ( ) ; marshaller . start ( createByteOutput ( outputStream ) ) ; marshaller . writeByte ( RETURN_SERVER_MODEL ) ; marshaller . writeObject ( serverModel ) ; marshaller . finish ( ) ; } } private class StartServerOperation extends DomainControllerClientOperationHandler . ServerStatusChangeOperation { private StartServerOperation ( ) { } @ Override protected final byte getResponseCode ( ) { } @ Override protected ServerStatus processChange ( String serverManagerName , String serverName , long gracefulTimeout ) { } } private class RestartServerOperation extends DomainControllerClientOperationHandler . ServerStatusChangeOperation { private RestartServerOperation ( ) { } @ Override protected final byte getResponseCode ( ) { } @ Override protected ServerStatus processChange ( String serverManagerName , String serverName , long gracefulTimeout ) { } } private class StopServerOperation extends DomainControllerClientOperationHandler . ServerStatusChangeOperation { private StopServerOperation ( ) { } @ Override protected final byte getResponseCode ( ) { } @ Override protected ServerStatus processChange ( String serverManagerName , String serverName , long gracefulTimeout ) { } } private abstract class ServerStatusChangeOperation extends ManagementResponse { private final boolean expectTimeout ; private String serverManagerName ; private String serverName ; private long gracefulTimeout ; ServerStatusChangeOperation ( boolean expectTimeout ) { } protected abstract ServerStatus processChange ( String serverManagerName , String serverName , long gracefulTimeout ) { } @ Override protected final void readRequest ( final InputStream inputStream ) throws IOException { } @ Override protected void sendResponse ( final OutputStream outputStream ) throws IOException { ServerStatus status = processChange ( serverManagerName , serverName , gracefulTimeout ) ; final Marshaller marshaller = DomainControllerClientOperationHandler . getMarshaller ( ) ; marshaller . start ( createByteOutput ( outputStream ) ) ; marshaller . writeByte ( RETURN_SERVER_STATUS ) ; marshaller . writeObject ( status ) ; marshaller . finish ( ) ; } } private class ApplyDomainModelUpdatesOperation extends ManagementResponse { private List < AbstractDomainModelUpdate < ? > > updates ;

Fix:
marshaller . writeByte ( RETURN_HOST_NAME ) ;