private Cluster.GatewayReceiver initGatewayReceiver(ObjectName mbeanName)
      throws InstanceNotFoundException, ReflectionException, IOException {

    Cluster.GatewayReceiver gatewayReceiver = new Cluster.GatewayReceiver();

    AttributeList attributeList =
        mbs.getAttributes(mbeanName, PulseConstants.GATEWAY_MBEAN_ATTRIBUTES);

    for (Object o : attributeList) {
      Attribute attribute = (Attribute) o;

      switch (attribute.getName()) {
        case PulseConstants.MBEAN_ATTRIBUTE_PORT:
          gatewayReceiver
              .setListeningPort(getIntegerAttribute(attribute.getValue(), attribute.getName()));
          break;
        case PulseConstants.MBEAN_ATTRIBUTE_EVENTRECEIVEDDATE:
          gatewayReceiver
              .setLinkThroughput(getDoubleAttribute(attribute.getValue(), attribute.getName()));
          break;
        case PulseConstants.MBEAN_ATTRIBUTE_AVEARGEBATCHPROCESSINGTIME:
          gatewayReceiver
              .setAvgBatchProcessingTime(
                  getLongAttribute(attribute.getValue(), attribute.getName()));
          break;
        case PulseConstants.MBEAN_ATTRIBUTE_RUNNING:
          gatewayReceiver.setStatus(getBooleanAttribute(attribute.getValue(), attribute.getName()));
          break;
      }
    }
    return gatewayReceiver;
  }
function used to get attribute values of Gateway Receiver and map them to GatewayReceiver inner
class object

@return GatewayReceiver object
geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/data/JMXDataUpdater.java