docs: public long handleNodeTags(ReaderNode node) {
          // absolute barriers always block
          if (node.hasTag("barrier", absoluteBarriers))
              return encoderBit;
  
          // movable barriers block if they are not marked as passable
          if (node.hasTag("barrier", potentialBarriers)) {
              boolean locked = false;
              if (node.hasTag("locked", "yes"))
                  locked = true;
  
              for (String res : restrictions) {
                  if (!locked && node.hasTag(res, intendedValues))
                      return 0;
  
                  if (node.hasTag(res, restrictedValues))
                      return encoderBit;
              }
  
              if (blockByDefault)
                  return encoderBit;
          }
  
          // In case explicit flag ford=no, don't block
          if (blockFords
                  && (node.hasTag("highway", "ford") || node.hasTag("ford"))
                  && !node.hasTag(restrictions, intendedValues)
                  && !node.hasTag("ford", "no")) {
              return encoderBit;
          }
  
          return 0;
      }