| _openDataConnection_(String, String) |   | 25% |   | 18% | 32 | 33 | 39 | 55 | 0 | 1 |
| _parseExtendedPassiveModeReply(String) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| _connectAction_(Reader) |   | 12% |   | 16% | 3 | 4 | 11 | 15 | 0 | 1 |
| mlistFile(String) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| _parsePassiveModeReply(String) |   | 64% |   | 75% | 3 | 7 | 6 | 25 | 0 | 1 |
| login(String, String, String) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| listNames(String) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| createParser(String) |   | 58% |   | 71% | 3 | 8 | 3 | 13 | 0 | 1 |
| _retrieveFileStream(String, String) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| _storeFileStream(String, String) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| initiateMListParsing(String) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| _storeFile(String, String, InputStream) |   | 63% |   | 50% | 4 | 5 | 8 | 19 | 0 | 1 |
| getActivePort() |   | 15% |   | 16% | 3 | 4 | 3 | 5 | 0 | 1 |
| getListArguments(String) |   | 17% |   | 25% | 2 | 3 | 6 | 8 | 0 | 1 |
| getSystemName() |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| featureValues(String) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| getSystemType() |   | 53% |   | 33% | 3 | 4 | 4 | 8 | 0 | 1 |
| hasFeature(String, String) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| reinitialize() |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| enterRemoteActiveMode(InetAddress, int) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| enterRemotePassiveMode() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| printWorkingDirectory() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| setFileType(int, int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| remoteAppend(String) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| remoteRetrieve(String) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| remoteStore(String) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| remoteStoreUnique(String) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| remoteStoreUnique() |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| mergeListeners(CopyStreamListener) |   | 43% |   | 75% | 1 | 3 | 4 | 8 | 0 | 1 |
| doCommandAsStrings(String, String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getSize(String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| featureValue(String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| rename(String, String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| setFileStructure(int) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| enterLocalActiveMode() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| enterLocalPassiveMode() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getStatus(String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| listHelp(String) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getStatus() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| listHelp() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| restart(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getSystemTypeOverride() |   | 63% |   | 33% | 3 | 4 | 3 | 9 | 0 | 1 |
| listFiles(String, FTPFileFilter) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setRestartOffset(long) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getBufferedInputStream(InputStream) |   | 53% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getBufferedOutputStream(OutputStream) |   | 53% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| setActivePortRange(int, int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| _openDataConnection_(int, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| allocate(int, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| allocate(long, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| appendFile(String, InputStream) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| doCommand(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| initiateListParsing(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| mlistDir(String, FTPFileFilter) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| retrieveFileStream(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setControlKeepAliveReplyTimeout(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setDataTimeout(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setModificationTime(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| storeFileStream(FTPCmd, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| storeUniqueFile(InputStream) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| storeUniqueFile(String, InputStream) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setPassiveNatWorkaround(boolean) |   | 54% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| allocate(int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| allocate(long) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| appendFileStream(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| changeWorkingDirectory(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| deleteFile(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| initiateListParsing() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listDirectories() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listDirectories(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| makeDirectory(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| mlistDir(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeDirectory(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendSiteCommand(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setActiveExternalIPAddress(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setControlKeepAliveTimeout(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setPassiveLocalIPAddress(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setReportActiveExternalIPAddress(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| storeFileStream(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| storeUniqueFileStream() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| storeUniqueFileStream(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| structureMount(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| initFeatureMap() |   | 95% |   | 83% | 2 | 7 | 2 | 21 | 0 | 1 |
| login(String, String) |   | 80% |   | 50% | 2 | 3 | 2 | 6 | 0 | 1 |
| abort() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| changeToParentDirectory() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| configure(FTPClientConfig) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| features() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| initiateMListParsing() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listNames() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| mlistDir() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendNoOp() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setAutodetectUTF8(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setBufferSize(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setCopyStreamListener(CopyStreamListener) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setListHiddenFiles(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setParserFactory(FTPFileEntryParserFactory) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setPassiveLocalIPAddress(InetAddress) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setReceieveDataSocketBufferSize(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setRemoteVerificationEnabled(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setSendDataSocketBufferSize(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setUseEPSVwithIPv4(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getHostAddress() |   | 66% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getReportHostAddress() |   | 66% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| isUseEPSVwithIPv4() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| _retrieveFile(String, String, OutputStream) |  | 97% |   | 87% | 1 | 5 | 1 | 16 | 0 | 1 |
| mdtmFile(String) |  | 91% |   | 50% | 1 | 2 | 1 | 8 | 0 | 1 |
| setFileType(int) |  | 86% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| getModificationTime(String) |  | 84% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| hasFeature(String) |  | 83% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| setFileTransferMode(int) |  | 83% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| mdtmCalendar(String) |  | 81% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| mdtmInstant(String) |  | 81% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| wrapOnDeflate(Socket) |  | 80% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| loadResourceProperties(String) |  | 95% |  | 100% | 0 | 3 | 1 | 9 | 0 | 1 |
| parsePathname(String) |  | 100% |  | 100% | 0 | 7 | 0 | 17 | 0 | 1 |
| initDefaults() |  | 100% | | n/a | 0 | 1 | 0 | 17 | 0 | 1 |
| FTPClient() |  | 100% | | n/a | 0 | 1 | 0 | 11 | 0 | 1 |
| initiateListParsing(FTPFileEntryParser, String) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| initiateListParsing(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| listFiles(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| retrieveFile(String, OutputStream) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| storeFile(FTPCmd, String, InputStream) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| _openDataConnection_(FTPCmd, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| storeFile(String, InputStream) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| disconnect() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| hasFeature(FTPCmd) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| listFiles() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setControlKeepAliveReplyTimeout(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setControlKeepAliveTimeout(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setDataTimeout(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| _connectAction_() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| completePendingCommand() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getControlKeepAliveReplyTimeout() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getControlKeepAliveTimeout() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| logout() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setIpAddressFromPasvResponse(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPassiveNatWorkaroundStrategy(FTPClient.HostnameResolver) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$initFeatureMap$0(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAutodetectUTF8() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBufferSize() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getControlKeepAliveReplyTimeoutDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getControlKeepAliveTimeoutDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCopyStreamListener() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCslDebug() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDataConnectionMode() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDataTimeout() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getEntryParser() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getListHiddenFiles() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPassiveHost() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPassiveLocalIPAddress() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPassivePort() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getReceiveDataSocketBufferSize() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRestartOffset() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSendDataSocketBufferSize() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isIpAddressFromPasvResponse() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isRemoteVerificationEnabled() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOverrideProperties() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |