private void Enter(Flow flow)
 {
     newDatabase = databaseIn.GetValue <Database>();
     if (newDatabase.cells.Keys.Contains(new Vector3(column.GetValue <int>(), row.GetValue <int>(), depth.GetValue <int>())))
     {
         newDatabase.cells[new Vector3(column.GetValue <int>(), row.GetValue <int>(), depth.GetValue <int>())] = value.GetValue <object>();
         Flow _flow = Flow.New();
         _flow.Invoke(exit);
         _flow.Dispose();
     }
     else
     {
         if (row.GetValue <int>() <= 0 || column.GetValue <int>() <= 0 || depth.GetValue <int>() <= 0)
         {
             throw new NullReferenceException("You can't have a 0 row, 0 column, or 0 depth database.");
         }
         else
         {
             throw new NullReferenceException("Cell in column '" + column.ToString() + "', row '" + row.ToString() + "', depth '" + depth.ToString() + "' does not exist.You do not have enough rows or columns.");
         }
     }
 }