class SystemInfo {

    public SystemInfo instance()
    {
        SystemInfo info = new SystemInfo();
        BeanUtils.copyProperties( this, info );
        // clear sensitive info may reset the data
        info.setDatabaseInfo( databaseInfo == null ? null : databaseInfo.instance() );
        return info;
    }

}