public bool initialize(String hostname, long port, String username, String password, String proxyServer, long proxyPort, String proxyUser, String proxyPass)
        {
            m_bInitialized = false;
            try
            {
                System.Net.ServicePointManager.ServerCertificateValidationCallback = RemoteCertificateValidationCallback;

                m_ci.setEndpoint(hostname, port, "/iControl/iControlPortal.cgi");
                if ((null != username) && (null != password))
                {
                    m_ci.setCredentials(username, password);
                }
                else
                {
                    m_ci.setCredentials("", "");
                }

                if ((null != proxyServer) && (0 != proxyPort))
                {
                    m_proxyServer = new System.Net.WebProxy(proxyServer, Convert.ToInt32(proxyPort));
                    if ((0 == proxyUser.Length) && (0 == proxyPass.Length))
                    {
                        m_proxyServer.UseDefaultCredentials = true;
                    }
                    else
                    {
                        System.Net.NetworkCredential proxyCreds = new System.Net.NetworkCredential();
                        proxyCreds.UserName = proxyUser;
                        proxyCreds.Password = proxyPass;
                        m_proxyServer.Credentials = proxyCreds;
                    }
                }
                else
                {
                    m_proxyServer = null;
                }

                m_ASMLoggingProfile = null;
                m_ASMObjectParams = null;
                m_ASMPolicy = null;
                m_ASMPolicyGroup = null;
                m_ASMSystemConfiguration = null;
                m_ASMWebApplication = null;
                m_ASMWebApplicationGroup = null;

                m_ClassificationApplication = null;
                m_ClassificationCategory = null;
                m_ClassificationSignatureDefinition = null;
                m_ClassificationSignatureUpdateSchedule = null;
                m_ClassificationSignatureVersion = null;

                m_GlobalLBApplication = null;
                m_GlobalLBDataCenter = null;
                m_GlobalLBDNSSECKey = null;
                m_GlobalLBDNSSECZone = null;
                m_GlobalLBGlobals = null;
                m_GlobalLBLink = null;
                m_GlobalLBMonitor = null;
                m_GlobalLBPool = null;
                m_GlobalLBPoolMember = null;
                m_GlobalLBProberPool = null;
                m_GlobalLBRegion = null;
                m_GlobalLBRule = null;
                m_GlobalLBServer = null;
                m_GlobalLBTopology = null;
                m_GlobalLBVirtualServer = null;
                m_GlobalLBVirtualServerV2 = null;
                m_GlobalLBWideIP = null;

                m_iCallPeriodicHandler = null;
                m_iCallPerpetualHandler = null;
                m_iCallScript = null;
                m_iCallTriggeredHandler = null;

                m_LocalLBClass = null;
                m_LocalLBDataGroupFile = null;
                m_LocalLBDNSCache = null;
                m_LocalLBDNSExpress = null;
                m_LocalLBDNSGlobals = null;
                m_LocalLBDNSServer = null;
                m_LocalLBDNSTSIGKey = null;
                m_LocalLBDNSZone = null;
                m_LocalLBiFile = null;
                m_LocalLBiFileFile = null;
                m_LocalLBLSNPool = null;
                m_LocalLBMonitor = null;
                m_LocalLBNAT = null;
                m_LocalLBNATV2 = null;
                m_LocalLBNodeAddress = null;
                m_LocalLBNodeAddressV2 = null;
                m_LocalLBPool = null;
                m_LocalLBPoolMember = null;
                m_LocalLBProfileAnalytics = null;
                m_LocalLBProfileAuth = null;
                m_LocalLBProfileClassification = null;
                m_LocalLBProfileClientSSL = null;
                m_LocalLBProfileDiameter = null;
                m_LocalLBProfileDiameterEndpoint = null;
                m_LocalLBProfileDNS = null;
                m_LocalLBProfileDNSLogging = null;
                m_LocalLBProfileFastHttp = null;
                m_LocalLBProfileFastL4 = null;
                m_LocalLBProfileFIX = null;
                m_LocalLBProfileFTP = null;
                m_LocalLBProfileHttp = null;
                m_LocalLBProfileHttpClass = null;
                m_LocalLBProfileHttpCompression = null;
                m_LocalLBProfileICAP = null;
                m_LocalLBProfileIIOP = null;
                m_LocalLBProfileOneConnect = null;
                m_LocalLBProfilePCP = null;
                m_LocalLBProfilePersistence = null;
                m_LocalLBProfilePPTP = null;
                m_LocalLBProfileRADIUS = null;
                m_LocalLBProfileRequestAdapt = null;
                m_LocalLBProfileRequestLogging = null;
                m_LocalLBProfileResponseAdapt = null;
                m_LocalLBProfileRTSP = null;
                m_LocalLBProfileSCTP = null;
                m_LocalLBProfileServerSSL = null;
                m_LocalLBProfileSIP = null;
                m_LocalLBProfileSMTPS = null;
                m_LocalLBProfileSPDY = null;
                m_LocalLBProfileSPM = null;
                m_LocalLBProfileStream = null;
                m_LocalLBProfileTCP = null;
                m_LocalLBProfileTCPAnalytics = null;
                m_LocalLBProfileUDP = null;
                m_LocalLBProfileUserStatistic = null;
                m_LocalLBProfileWebAcceleration = null;
                m_LocalLBProfileXML = null;
                m_LocalLBRAMCacheInformation = null;
                m_LocalLBRateClass = null;
                m_LocalLBRule = null;
                m_LocalLBSNAT = null;
                m_LocalLBSNATPool = null;
                m_LocalLBSNATPoolMember = null;
                m_LocalLBSNATTranslationAddress = null;
                m_LocalLBSNATTranslationAddressV2 = null;
                m_LocalLBVirtualAddress = null;
                m_LocalLBVirtualAddressV2 = null;
                m_LocalLBVirtualServer = null;

                m_LogDestinationArcSight = null;
                m_LogDestinationIPFIX = null;
                m_LogDestinationLocalSyslog = null;
                m_LogDestinationRemoteHighSpeedLog = null;
                m_LogDestinationRemoteSyslog = null;
                m_LogDestinationSplunk = null;
                m_LogFilter = null;
                m_LogPublisher = null;

                m_LTConfigClass = null;
                m_LTConfigField = null;

                m_ManagementApplicationPresentationScript = null;
                m_ManagementApplicationService = null;
                m_ManagementApplicationTemplate = null;
                m_ManagementCCLDAPConfiguration = null;
                m_ManagementCertLDAPConfiguration = null;
                m_ManagementChangeControl = null;
                m_ManagementCLIScript = null;
                m_ManagementCRLDPConfiguration = null;
                m_ManagementCRLDPServer = null;
                m_ManagementDBVariable = null;
                m_ManagementDevice = null;
                m_ManagementDeviceGroup = null;
                m_ManagementEM = null;
                m_ManagementEventNotification = null;
                m_ManagementEventSubscription = null;
                m_ManagementFeatureModule = null;
                m_ManagementFolder = null;
                m_ManagementGlobals = null;
                m_ManagementKeyCertificate = null;
                m_ManagementLDAPConfiguration = null;
                m_ManagementLicenseAdministration = null;
                m_ManagementNamed = null;
                m_ManagementOCSPConfiguration = null;
                m_ManagementOCSPResponder = null;
                m_ManagementPartition = null;
                m_ManagementProvision = null;
                m_ManagementRADIUSConfiguration = null;
                m_ManagementRADIUSServer = null;
                m_ManagementResourceRecord = null;
                m_ManagementSFlowDataSource = null;
                m_ManagementSFlowGlobals = null;
                m_ManagementSFlowReceiver = null;
                m_ManagementSMTPConfiguration = null;
                m_ManagementSNMPConfiguration = null;
                m_ManagementTACACSConfiguration = null;
                m_ManagementTMOSModule = null;
                m_ManagementTrafficGroup = null;
                m_ManagementTrust = null;
                m_ManagementUserManagement = null;
                m_ManagementView = null;
                m_ManagementZone = null;
                m_ManagementZoneRunner = null;

                m_NetworkingAdminIP = null;
                m_NetworkingARP = null;
                m_NetworkingBWControllerPolicy = null;
                m_NetworkingInterfaces = null;
                m_NetworkingIPsecIkeDaemon = null;
                m_NetworkingIPsecIkePeer = null;
                m_NetworkingIPsecManualSecurityAssociation = null;
                m_NetworkingIPsecPolicy = null;
                m_NetworkingIPsecTrafficSelector = null;
                m_NetworkingiSessionAdvertisedRoute = null;
                m_NetworkingiSessionAdvertisedRouteV2 = null;
                m_NetworkingiSessionDatastor = null;
                m_NetworkingiSessionDeduplication = null;
                m_NetworkingiSessionLocalInterface = null;
                m_NetworkingiSessionPeerDiscovery = null;
                m_NetworkingiSessionRemoteInterface = null;
                m_NetworkingiSessionRemoteInterfaceV2 = null;
                m_NetworkingLLDPGlobals = null;
                m_NetworkingMulticastRoute = null;
                m_NetworkingPacketFilter = null;
                m_NetworkingPacketFilterGlobals = null;
                m_NetworkingPortMirror = null;
                m_NetworkingProfileFEC = null;
                m_NetworkingProfileGRE = null;
                m_NetworkingProfileIPIP = null;
                m_NetworkingProfileIPsec = null;
                m_NetworkingProfileLightweight4Over6Tunnel = null;
                m_NetworkingProfileV6RD = null;
                m_NetworkingProfileVXLAN = null;
                m_NetworkingProfileWCCPGRE = null;
                m_NetworkingRouteDomain = null;
                m_NetworkingRouteDomainV2 = null;
                m_NetworkingRouterAdvertisement = null;
                m_NetworkingRouteTable = null;
                m_NetworkingRouteTableV2 = null;
                m_NetworkingSelfIP = null;
                m_NetworkingSelfIPPortLockdown = null;
                m_NetworkingSelfIPV2 = null;
                m_NetworkingSTPGlobals = null;
                m_NetworkingSTPInstance = null;
                m_NetworkingSTPInstanceV2 = null;
                m_NetworkingTrunk = null;
                m_NetworkingTunnel = null;
                m_NetworkingVLAN = null;
                m_NetworkingVLANGroup = null;

                m_PEMFormatScript = null;
                m_PEMForwardingEndpoint = null;
                m_PEMInterceptionEndpoint = null;
                m_PEMListener = null;
                m_PEMPolicy = null;
                m_PEMServiceChainEndpoint = null;
                m_PEMSubscriber = null;

                m_SecurityDoSDevice = null;
                m_SecurityDoSWhitelist = null;
                m_SecurityFirewallAddressList = null;
                m_SecurityFirewallGlobalAdminIPRuleList = null;
                m_SecurityFirewallGlobalRuleList = null;
                m_SecurityFirewallPolicy = null;
                m_SecurityFirewallPortList = null;
                m_SecurityFirewallRuleList = null;
                m_SecurityFirewallWeeklySchedule = null;
                m_SecurityIPIntelligenceBlacklistCategory = null;
                m_SecurityIPIntelligenceFeedList = null;
                m_SecurityIPIntelligenceGlobalPolicy = null;
                m_SecurityIPIntelligencePolicy = null;
                m_SecurityLogProfile = null;
                m_SecurityProfileDNSSecurity = null;
                m_SecurityProfileDoS = null;
                m_SecurityProfileIPIntelligence = null;

                m_SystemCertificateRevocationListFile = null;
                m_SystemCluster = null;
                m_SystemConfigSync = null;
                m_SystemConnections = null;
                m_SystemDisk = null;
                m_SystemExternalMonitorFile = null;
                m_SystemFailover = null;
                m_SystemGeoIP = null;
                m_SystemHAGroup = null;
                m_SystemHAStatus = null;
                m_SystemInet = null;
                m_SystemInternal = null;
                m_SystemLightweightTunnelTableFile = null;
                m_SystemPerformanceSFlow = null;
                m_SystemServices = null;
                m_SystemSession = null;
                m_SystemSoftwareManagement = null;
                m_SystemStatistics = null;
                m_SystemSystemInfo = null;
                m_SystemVCMP = null;

                m_WebAcceleratorApplications = null;
                m_WebAcceleratorPolicies = null;
                m_WebAcceleratorProxyMessage = null;

                // Attempt connection and only return initialized if connection succeeds.

                m_sessionIdentifier = SESSIONID_UNKNOWN;

                m_bInitialized = true;

                if (m_bPingDuringInitialize)
                {
                    String sVersion = SystemSystemInfo.get_version();
                }

            }
            catch (Exception ex)
            {
                m_lastException = ex;
                m_bInitialized = false;
            }
            return m_bInitialized;
        }