code: @VisibleForTesting
      Table tableFromJson(TableJson json) {
          if (json.isDropped()) {
              return null;
          }
          String name = json.getTable();
          Map<String, Object> attributes = json.getAttributeMap();
          Storage masterStorage = json.getMasterStorage();
          String masterPlacement = masterStorage.getPlacement();
          Collection<Storage> facades = json.getFacades();
  
          TableOptions options = new TableOptionsBuilder()
                  .setPlacement(masterPlacement)
                  .setFacades(ImmutableList.copyOf(Iterables.transform(facades, new Function<Storage, FacadeOptions>() {
                      @Override
                      public FacadeOptions apply(Storage facade) {
                          return new FacadeOptions(facade.getPlacement());
                      }
                  })))
                  .build();
  
          Storage storageForDc = masterStorage;
          boolean available = true;
          if (!_placementFactory.isAvailablePlacement(masterPlacement)) {
              available = false;
              // The master placement does not belong to this datacenter.  Let's see if we have a
              // facade that belongs to this datacenter.  If not, we'll stick with the masterStorage.
              for (Storage facade : facades) {
                  if (_placementFactory.isAvailablePlacement(facade.getPlacement())) {
                      if (storageForDc.isFacade()) {
                          // We found multiple facades for the same datacenter.
                          throw new TableExistsException(format("Multiple facades found for table %s in %s", name, _selfDataCenter), name);
                      }
                      storageForDc = facade;
                      available = true;
                  }
              }
          }
  
          return newTable(name, options, attributes, available, storageForDc);
      }
docs: Parse the persistent JSON object into an AstyanaxTable.
  If the master placement doesn't belong to this datacenter, this method will:
  a. try to find a facade for this table that belongs to this datacenter
  b. If no facade is found, it will return the table in the master placement.