code: public AttributeInfo[] get_attribute_info(final DeviceProxy deviceProxy,
                                                final String[] attributeNames) throws DevFailed {
  
          build_connection(deviceProxy);
  
          final int retries = deviceProxy.transparent_reconnection ? 2 : 1;
          for (int oneTry=1 ; oneTry<=retries ; oneTry++) {
              try {
                  AttributeInfo[] result;
                  AttributeConfig[] ac = new AttributeConfig[0];
                  AttributeConfig_2[] ac_2 = null;
                  if (deviceProxy.url.protocol == TANGO) {
                  // Check IDL version
                  if (deviceProxy.device_2 != null) {
                      ac_2 = deviceProxy.device_2.get_attribute_config_2(attributeNames);
                  } else {
                      ac = deviceProxy.device.get_attribute_config(attributeNames);
                  }
                  } else {
                  ac = deviceProxy.taco_device.get_attribute_config(attributeNames);
                  }
  
                  // Convert AttributeConfig(_2) object to AttributeInfo object
                  final int size = ac_2 != null ? ac_2.length : ac.length;
                  result = new AttributeInfo[size];
                  for (int i = 0; i < size; i++) {
                  if (ac_2 != null) {
                      result[i] = new AttributeInfo(ac_2[i]);
                  } else {
                      result[i] = new AttributeInfo(ac[i]);
                  }
                  }
                  return result;
              }
              catch (final DevFailed e) {
                  if (oneTry>=retries) {
                      throw e;
                  }
              }
              catch (final Exception e) {
                  if (oneTry>=retries) {
                      ApiUtilDAODefaultImpl.removePendingRepliesOfDevice(deviceProxy);
                      throw_dev_failed(deviceProxy, e, "get_attribute_config", true);
                  }
              }
          }
          return null;
      }
docs: ==========================================================================