private static boolean testPhylogenyBranch() {
        try {
            final PhylogenyNode a1 = new PhylogenyNode( "a" );
            final PhylogenyNode b1 = new PhylogenyNode( "b" );
            final PhylogenyBranch a1b1 = new PhylogenyBranch( a1, b1 );
            final PhylogenyBranch b1a1 = new PhylogenyBranch( b1, a1 );
            if ( !a1b1.equals( a1b1 ) ) {
                return false;
            }
            if ( !a1b1.equals( b1a1 ) ) {
                return false;
            }
            if ( !b1a1.equals( a1b1 ) ) {
                return false;
            }
            final PhylogenyBranch a1_b1 = new PhylogenyBranch( a1, b1, true );
            final PhylogenyBranch b1_a1 = new PhylogenyBranch( b1, a1, true );
            final PhylogenyBranch a1_b1_ = new PhylogenyBranch( a1, b1, false );
            if ( a1_b1.equals( b1_a1 ) ) {
                return false;
            }
            if ( a1_b1.equals( a1_b1_ ) ) {
                return false;
            }
            final PhylogenyBranch b1_a1_ = new PhylogenyBranch( b1, a1, false );
            if ( !a1_b1.equals( b1_a1_ ) ) {
                return false;
            }
            if ( a1_b1_.equals( b1_a1_ ) ) {
                return false;
            }
            if ( !a1_b1_.equals( b1_a1 ) ) {
                return false;
            }
        }
        catch ( final Exception e ) {
            e.printStackTrace( System.out );
            return false;
        }
        return true;
    }