import java.io.*;

File f = new File( basedir, "target/massembly-256-pomPropertiesInterp-1-myassembly/file/path/some.file" );
File f2 = new File( basedir, "target/massembly-256-pomPropertiesInterp-1-myassembly/file2/path/some.file" );
File f3 = new File( basedir, "target/massembly-256-pomPropertiesInterp-1-myassembly/file3/path/some.file" );

boolean fOK = f.exists() && f.isFile();
if ( !fOK )
{
    System.out.println( "File: " + f + " doesn't exist, or isn't a file." );
}

boolean f2OK = f2.exists() && f2.isFile();
if ( !f2OK )
{
    System.out.println( "File: " + f2 + " doesn't exist, or isn't a file." );
}

boolean f3OK = f3.exists() && f3.isFile();
if ( !f3OK )
{
    System.out.println( "File: " + f3 + " doesn't exist, or isn't a file." );
}

return fOK && f2OK;
