code: Field getField(FieldInfo info, boolean getValid)
      {
          int hi=info.hashCode();
          
          if (hi<_index.length)
          {
              if (_index[hi]>=0)
              {
                  Field field=(Field)(_fields.get(_index[hi]));
                  
                  return (field!=null && (!getValid||field._version==_version))?field:null;
              }
          }
          else
          {    
              for (int i=0;i<_fields.size();i++)
              {
                  Field field=(Field)_fields.get(i);
                  if (info.equals(field._info) && (!getValid||field._version==_version))
                      return field;
              }
          }
          return null;
      }
docs: /* ------------------------------------------------------------