public VersionedRemoteProcessGroup mapRemoteProcessGroup(final RemoteProcessGroup remoteGroup) { final VersionedRemoteProcessGroup rpg = new InstantiatedVersionedRemoteProcessGroup(remoteGroup.getIdentifier(), remoteGroup.getProcessGroupIdentifier()); rpg.setIdentifier(getId(remoteGroup.getVersionedComponentId(), remoteGroup.getIdentifier())); rpg.setGroupIdentifier(getGroupId(remoteGroup.getProcessGroupIdentifier())); rpg.setComments(remoteGroup.getComments()); rpg.setCommunicationsTimeout(remoteGroup.getCommunicationsTimeout()); rpg.setLocalNetworkInterface(remoteGroup.getNetworkInterface()); rpg.setName(remoteGroup.getName()); rpg.setInputPorts(remoteGroup.getInputPorts().stream() .map(port -> mapRemotePort(port, ComponentType.REMOTE_INPUT_PORT)) .collect(Collectors.toSet())); rpg.setOutputPorts(remoteGroup.getOutputPorts().stream() .map(port -> mapRemotePort(port, ComponentType.REMOTE_OUTPUT_PORT)) .collect(Collectors.toSet())); rpg.setPosition(mapPosition(remoteGroup.getPosition())); rpg.setProxyHost(remoteGroup.getProxyHost()); rpg.setProxyPort(remoteGroup.getProxyPort()); rpg.setProxyUser(remoteGroup.getProxyUser()); rpg.setTargetUri(remoteGroup.getTargetUri()); rpg.setTargetUris(remoteGroup.getTargetUris()); rpg.setTransportProtocol(remoteGroup.getTransportProtocol().name()); rpg.setYieldDuration(remoteGroup.getYieldDuration()); return rpg; }