Preconditions.checkArgument (descriptorValue instanceof Map, "missmatched descriptors attribute `%s`", descriptorsValue);
final String identifier = (String) descriptorIdentifierValue;
final Map<?, ?> descriptorMap = (Map<?, ?>) descriptorValue;
final Object typeValue = descriptorMap.get (Token.Type.string);
Preconditions.checkArgument (typeValue instanceof String, "mismatched correlation attribute `%s`", correlation);
final ComponentResourceDescriptor descriptor;
if (Token.SocketIpv4Tcp.string.equals (typeValue)) {
final String ip = (String) descriptorMap.get (Token.Ip.string);
final int port = ((Number) descriptorMap.get (Token.Port.string)).intValue ();
final String fqdn = (String) descriptorMap.get (Token.Fqdn.string);
descriptor = ComponentTcpSocketResourceDescriptor.create (identifier, ip, port, fqdn);