Buggy code:
public static final Set < ConfigKey < ? > > REUSABLE_SSH_PROPS = ImmutableSet . of ( SshMachineLocation . STDOUT , SshMachineLocation . STDERR , SshMachineLocation . SCRIPT_DIR , SshMachineLocation . CLOSE_CONNECTION , PROP_SCRIPT_HEADER , PROP_PERMISSIONS , PROP_LAST_MODIFICATION_DATE , PROP_LAST_ACCESS_DATE , PROP_OWNER_UID , PROP_SSH_RETRY_DELAY ) ; public static final Set < HasConfigKey < ? > > ALL_SSH_CONFIG_KEYS = ImmutableSet . < HasConfigKey < ? > > builder ( ) . addAll ( ConfigUtils . getStaticKeysOnClass ( SshMachineLocation . class ) ) . addAll ( ConfigUtils . getStaticKeysOnClass ( SshTool . class ) ) . build ( ) ; public static final Set < String > ALL_SSH_CONFIG_KEY_NAMES = ImmutableSet . copyOf ( Iterables . transform ( SshMachineLocation . ALL_SSH_CONFIG_KEYS , new Function < HasConfigKey < ? > , String > ( ) { @ Override public String apply ( HasConfigKey < ? > input ) { } } ) ) ; @ Beta public static final Set < ConfigKey < ? > > SSH_CONFIG_GIVEN_TO_PROPS = ImmutableSet . < ConfigKey < ? > > of ( SshMachineLocation . SCRIPT_DIR ) ; private Task < ? > cleanupTask ; @ Nullable private transient LoadingCache < Map < String , ? > , Pool < SshTool > > sshPoolCacheOrNull ; public SshMachineLocation ( ) { } public SshMachineLocation ( Map properties ) { } private final transient Object poolCacheMutex = new Object ( ) ; @ Nonnull private LoadingCache < Map < String , ? > , Pool < SshTool > > getSshPoolCache ( ) { } private LoadingCache < Map < String , ? > , Pool < SshTool > > buildSshToolPoolCacheLoader ( ) { } private BasicPool < SshTool > buildPool ( final Map < String , ? > properties ) { } @ Override public SshMachineLocation configure ( Map < ? , ? > properties ) { } private final transient Object mutexSupportCreationLock = new Object ( ) ; protected WithMutexes getMutexSupport ( ) { } protected void addSshPoolCacheCleanupTask ( ) { } @ Override public void close ( ) throws IOException { } @ Override public InetAddress getAddress ( ) { } @ Override public String getHostname ( ) { } @ Override public Set < String > getPublicAddresses ( ) { } @ Override public Set < String > getPrivateAddresses ( ) { } public HostAndPort getSshHostAndPort ( ) { } public String getUser ( ) { } public int getPort ( ) { } protected < T > T execSsh ( final Map < String , ? > props , final Function < ShellTool , T > task ) { } protected SshTool connectSsh ( ) { } protected boolean previouslyConnected = false ; protected SshTool connectSsh ( Map props ) { } public int execCommands ( String summaryForLogging , List < String > commands ) { } public int execCommands ( Map < String , ? > props , String summaryForLogging , List < String > commands ) { } public int execCommands ( String summaryForLogging , List < String > commands , Map < String , ? > env ) { } public int execCommands ( Map < String , ? > props , String summaryForLogging , List < String > commands , Map < String , ? > env ) { } public int execScript ( String summaryForLogging , List < String > commands ) { } public int execScript ( Map < String , ? > props , String summaryForLogging , List < String > commands ) { } public int execScript ( String summaryForLogging , List < String > commands , Map < String , ? > env ) { } public int execScript ( Map < String , ? > props , String summaryForLogging , List < String > commands , Map < String , ? > env ) { } private Map < String , Object > augmentPropertiesWithSshConfigGivenToProps ( Map < String , ? > props ) { Map < String , Object > augmentedProps = Maps . newHashMap ( props ) ; for ( ConfigKey < ? > config : SshMachineLocation . SSH_CONFIG_GIVEN_TO_PROPS ) { <START_BUG> if ( ! ( props . containsKey ( config . getName ( ) ) ) ) <END_BUG> augmentedProps . put ( config . getName ( ) , getConfig ( config ) ) ; } return augmentedProps ; } protected ExecWithLoggingHelpers newExecWithLoggingHelpers ( ) { } @ SuppressWarnings ( { "rawtypes" , "unchecked" } ) @ Deprecated protected int execWithLogging ( Map < String , ? > props , String summaryForLogging , List < String > commands , Map env , final Closure < Integer > execCommand ) { } public int copyTo ( File src , File destination ) { } public int copyTo ( Map < String , ? > props , File src , File destination ) { } public int copyTo ( File src , String destination ) { } public int copyTo ( Map < String , ? > props , File src , String destination ) { } public int copyTo ( Reader src , String destination ) { } public int copyTo ( Map < String , ? > props , Reader src , String destination ) { } public int copyTo ( InputStream src , String destination ) { } public int copyTo ( InputStream src , long filesize , String destination ) { } public int copyTo ( final Map < String , ? > props , final InputStream src , final long filesize , final String destination ) { } public int copyTo ( final Map < String , ? > props , final InputStream src , final String destination ) { } public int copyFrom ( String remote , String local ) { } public int copyFrom ( final Map < String , ? > props , final String remote , final String local ) { } public int installTo ( String url , String destPath ) { }

Fix:
if ( ( ! ( augmentedProps . containsKey ( config . getName ( ) ) ) ) && ( hasConfig ( config , true ) ) )