void (Channel channel, UUID sessionId, CmdlineRemoteProto.Message.BuilderMessage msg) { CmdlineRemoteProto.Message.BuilderMessage _message = msg; if (myPathMapper != null) { if (_message.hasCompileMessage()) { final CmdlineRemoteProto.Message.BuilderMessage.CompileMessage compileMessage = _message.getCompileMessage(); if (compileMessage.hasSourceFilePath()) { final CmdlineRemoteProto.Message.BuilderMessage.CompileMessage.Builder builder = CmdlineRemoteProto.Message.BuilderMessage.CompileMessage.newBuilder(compileMessage); builder.setSourceFilePath(myPathMapper.apply(compileMessage.getSourceFilePath())); _message = CmdlineRemoteProto.Message.BuilderMessage.newBuilder(_message).setCompileMessage(builder).build(); } } if (_message.hasBuildEvent()) { final CmdlineRemoteProto.Message.BuilderMessage.BuildEvent buildEvent = _message.getBuildEvent(); final int filesCount = buildEvent.getGeneratedFilesCount(); if (filesCount > 0) { final CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.Builder builder = CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.newBuilder(buildEvent); for (int idx = 0; idx < filesCount; idx++) { final CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.GeneratedFile file = buildEvent.getGeneratedFiles(idx); builder.setGeneratedFiles(idx, CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.GeneratedFile.newBuilder(file).setOutputRoot(myPathMapper.apply(file.getOutputRoot()))); } _message = CmdlineRemoteProto.Message.BuilderMessage.newBuilder(_message).setBuildEvent(builder).build(); } } } super.handleBuildMessage(channel, sessionId, _message); }