import java.io.*;

try
{
    File dir = new File( basedir, "child3/target/child3-1-bin" );
    
    File f = new File( dir, "child1-1.jar" );
    if ( !f.exists() || !f.isFile() )
    {
      System.out.println( "Could not find dependency file: " + f );
      return false;
    }
    
    f = new File( dir, "child2-2.jar" );
    if ( !f.exists() || !f.isFile() )
    {
      System.out.println( "Could not find dependency file: " + f );
      return false;
    }
    
    return true;
}
catch( IOException e )
{
    e.printStackTrace();
}

return false;
